Systems, methods, and computer program products for reducing dataset bias in natural language reasoning tasks using non-adversarial training
By adopting non-adversarial training methods in natural language inference tasks, using noise vectors and gradients to update the weight of the machine learning model, the problem of data set deviation is solved, and the generalization ability and accuracy of the model are improved.
Patent Information
- Application Number
- CN202380039492.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-05-10
- Filing Date
- 2023-05-10
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2043-05-10
AI Technical Summary
The existing technology is difficult to effectively alleviate the problem of data set bias in natural language inference tasks, resulting in insufficient generalization capabilities of machine learning models.
Using a non-adversarial training method, the training samples are perturbed by generating noise vectors, the gradient is calculated and the noise vector is updated, and the model weight of the machine learning model is updated to reduce data set bias.
Through non-adversarial training methods, data set bias can be effectively reduced and the generalization ability and accuracy of machine learning models can be improved.
Smart Images

Figure CN119404233A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 340,132, filed on May 10, 2022, the disclosure of which is hereby incorporated by reference in its entirety. Background Art 1. Technical Field
[0003] The present disclosure relates generally 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.
[0004] 2. Technical considerations
[0005] Machine learning can refer to a field of computer science that uses statistical techniques to provide computer systems with the ability to learn a task (e.g., gradually improve the performance of a task) using a given data set without programming the computer system to perform the task. In some cases, a machine learning model can be created for a specific data set so that the machine learning model can perform a task (e.g., a classification task) on the data set.
[0006] Machine learning bias (e.g., algorithmic bias, artificial intelligence (AI) bias, etc.) can refer to a phenomenon that occurs when a machine learning algorithm produces results that are systematically compromised due to incorrect assumptions in the process of generating the machine learning model. Machine learning bias can arise from problems introduced by individuals who design (e.g., build, train, validate, etc.) machine learning systems that use machine learning models. In some cases, individuals can create algorithms that reflect unintended cognitive biases and / or real-life biases, or in some cases, machine learning bias can be introduced because individuals use incomplete, flawed, and / or biased data sets to train and / or validate machine learning systems.
[0007] In some cases, a machine learning model (such as a natural language processing model) may be trained to perform a task (e.g., a natural language reasoning task) 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 may be harmful during the training of the machine learning model. For example, dataset bias may cause the model to learn from spurious correlations (e.g., false correlations, incorrect correlations, unimportant correlations, etc.) between instances of the dataset, thereby preventing the machine learning model from learning the task correctly. This may 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
[0008] Thus, disclosed are systems, devices, products, apparatuses and / or methods for mitigating dataset bias while generating machine learning models for classification tasks using non-adversarial training.
[0009] According to some non-limiting embodiments or aspects, a system for generating a machine learning model for a classification task using non-adversarial training is provided. The system includes at least one processor, the at least one processor being programmed or configured to execute a non-adversarial training program to train the machine learning model to provide a trained machine learning model, wherein, when the non-adversarial training program is executed. At least one processor is further programmed and / or configured to receive a training data set including a plurality of training samples. At least one processor is further programmed and / or configured to generate a noise vector for a plurality of training samples based on a uniform distribution. At least one processor is further programmed and / or configured to perturb each of a plurality of training samples based on a noise vector to provide a plurality of perturbed training samples. At least one processor is further programmed and / or configured to obtain a first output of a machine learning model generated by inputting each of a plurality of training samples and a second output of a machine learning model generated by inputting each of a plurality of perturbed training samples. At least one processor is further programmed and / or configured to generate an updated noise vector based on a gradient. The at least one processor is further programmed and / or configured to perturb each of the plurality of training samples based on the updated noise vector to provide a second plurality of perturbed training samples. The at least one processor is further programmed and / or configured to update model weights of the machine learning model based on the second plurality of perturbed training samples to provide a trained machine learning model.
[0010] In some non-limiting embodiments or aspects, when generating a noise vector for a plurality of training samples, at least one processor is programmed and / or configured to initialize the noise vector using a first uniform distribution. In some non-limiting embodiments or aspects, when initializing the noise vector, 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 vector, 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 an initial value for the noise vector.
[0011] 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 a step size.
[0012] 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 each of the 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 and / 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.
[0013] 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.
[0014] In some non-limiting embodiments or aspects, when the second machine learning model is trained using the POE program, at least one processor is further programmed and / or configured to generate a non-normalized output from the first trained machine learning model based on multiple training samples of the training data set. In some non-limiting embodiments or aspects, when the second machine learning model is trained using the POE program, at least one processor is further programmed and / or configured to generate a non-normalized output from the second machine learning model based on multiple training samples of the training data set. In some non-limiting embodiments or aspects, when the second machine learning model is trained using the POE program, at least one processor is further programmed and / or configured to 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. In some non-limiting embodiments or aspects, when the second machine learning model is trained using the POE program, 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 non-normalized output to provide a second trained machine learning model.
[0015] In some non-limiting embodiments or aspects, when a non-normalized output is generated from a first trained machine learning model based on a plurality of training samples of a training data set, at least one processor is programmed and / or configured to generate the output of the first trained machine learning model based on the plurality of training samples of the training data set using a first logits function. In some non-limiting embodiments or aspects, when a non-normalized output is generated from a second machine learning model based on a plurality of training samples of the training data set, at least one processor is programmed and / or configured to generate the output of the second trained machine learning model based on the plurality of training samples of the training data set using a second logits function. 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 based on the plurality of training samples of the training data set using the first logits function and the output of the second machine learning model based on the plurality of training samples of the training data set using the second logits function 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 non-normalized 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.
[0016] According to non-limiting embodiments or aspects, a computer-implemented method for generating a machine learning model for a classification task using non-adversarial training is provided. The method includes executing a non-adversarial training program 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 also includes receiving a training data set including 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 by inputting each of the plurality of training samples and a second output of the machine learning model generated by inputting 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 a model weight of the machine learning model based on the second plurality of perturbed training samples to provide a trained machine learning model.
[0017] In some non-limiting embodiments or aspects, when generating a noise vector for a plurality of training samples, the method further comprises initializing the noise vector using a uniform distribution. In some non-limiting embodiments or aspects, when initializing the noise vector, the method further comprises multiplying a first uniform distribution by a predefined radius to provide a second uniform distribution; and dividing the second uniform distribution by a square root of an input embedding size of the machine learning model to provide an initial value of the noise vector.
[0018] In some non-limiting embodiments or aspects, when generating the updated noise vector, the method further includes multiplying the gradient by the step size.
[0019] 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 each of the multiple training samples is perturbed based on the updated noise vector to provide a second plurality of perturbed training samples, the method further includes: perturbing each of the multiple training samples based on the second updated noise vector to provide a second plurality of perturbed training samples.
[0020] In some non-limiting embodiments or aspects, the trained machine learning model is a first trained machine learning model, and the method further includes training a second machine learning model based on the first trained machine learning model using the POE procedure.
[0021] In some non-limiting embodiments or aspects, when the POE program is used to train a second machine learning model, the method further includes: generating a non-normalized output from the first trained machine learning model based on multiple training samples of the training data set; generating a non-normalized output from the second machine learning model based on multiple training samples of the training data set; 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.
[0022] In some non-limiting embodiments or aspects, when a non-normalized output is generated from a first trained machine learning model based on multiple training samples of a training data set, the method further includes generating an output of the first trained machine learning model using a first logits function based on multiple training samples of the training data set.
[0023] In some non-limiting embodiments or aspects, when a non-normalized output is generated from a second machine learning model based on multiple training samples of a training data set, the method further includes generating an output of the second machine learning model using a second logits function based on multiple training samples of the training data set.
[0024] In some non-limiting embodiments or aspects, when combining 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, the method further includes combining the output of the first trained machine learning model using a first logits function based on multiple training samples of the training data set and the output of the second machine learning model using a second logits function based on multiple training samples of the training data set to provide a combined output.
[0025] In some non-limiting embodiments or aspects, when the model weights of the second machine learning model are updated based on the combined non-normalized 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.
[0026] According to non-limiting embodiments or aspects, a computer program product for generating a machine learning model for a classification task using non-adversarial training is provided, 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, when executed by at least one processor, the one or more instructions cause at least one processor to execute a non-adversarial training program to train the machine learning model to provide a trained machine learning model. In some non-limiting embodiments or aspects, when the non-adversarial training program is executed, the one or more instructions further cause at least one processor to receive a training data set including a plurality of training samples; generate a noise vector for the plurality of training samples based on a uniform distribution. In some non-limiting embodiments or aspects, when the non-adversarial training program is executed, the one or more instructions further cause 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 the non-adversarial training program is executed, the one or more instructions further cause at least one processor to obtain a first output of the machine learning model generated by each of the plurality of training samples and a second output of the machine learning model generated by each of the plurality of perturbed training samples. In some non-limiting embodiments or aspects, when executing the non-adversarial training procedure, one or more instructions further cause at least one processor to generate an updated noise vector based on the gradient; and to perturb each training sample in the 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 executing the non-adversarial training procedure, one or more instructions further cause at least one processor to 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.
[0027] 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 an input embedding size of the machine learning model to provide an initial value for the noise vector.
[0028] In some non-limiting embodiments or aspects, wherein, when generating the updated noise vector, the one or more instructions further cause the at least one processor to multiply the gradient by a step size.
[0029] In some non-limiting embodiments or aspects, wherein the 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 the plurality of training samples is perturbed based on the updated noise vector to provide a second plurality of perturbed training samples, the one or more instructions cause at least one processor 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.
[0030] In some non-limiting embodiments or aspects, the trained machine learning model is a first trained machine learning model, and the one or more instructions further cause at least one processor to: train a second machine learning model using the POE program based on the first trained machine learning model. In some non-limiting embodiments or aspects, when the second machine learning model is trained using the POE program, the one or more instructions further cause at least one processor to: generate a non-normalized output from the first trained machine learning model based on multiple training samples of the training data set; generate a non-normalized output from the second machine learning model based on multiple training samples of the training data set; 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 a second trained machine learning model.
[0031] In some non-limiting embodiments or aspects, when a non-normalized output is generated from a first trained machine learning model based on a plurality of training samples of a training data set, one or more instructions further cause at least one processor to: generate an output of the first trained machine learning model based on a plurality of training samples of the training data set using a first logits function. In some non-limiting embodiments or aspects, when a non-normalized output is generated from a second machine learning model based on a plurality of training samples of the training data set, one or more instructions further cause at least one processor to: generate an output of the second machine learning model based on a plurality of training samples of the training data set using a second logits function. In some non-limiting embodiments or aspects, when a non-normalized output from the first trained machine learning model and a non-normalized output from the second machine learning model are combined 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 based on a plurality of training samples of the training data set using the first logits function and the output of the second machine learning model based on a plurality of training samples of the training data set using the second logits function 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 non-normalized 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.
[0032] Additional non-limiting embodiments or aspects are set forth in the following numbered clauses:
[0033] Item 1: A system comprising: at least one processor, the at least one processor being 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 data set comprising multiple training samples; generate a noise vector for the multiple training samples based on a uniform distribution; perturb each of the multiple training samples based on the noise vector to provide a plurality of perturbed training samples; obtain a gradient between a first output of the machine learning model generated by inputting each of the multiple training samples and a second output of the machine learning model generated by inputting each of the multiple perturbed training samples; generate an updated noise vector based on the gradient; perturb each of the multiple 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.
[0034] Clause 2: A system as in 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 using 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 an input embedding size of the machine learning model to provide an initial value for the noise vector.
[0035] Clause 3: The system of clause 1 or 2, wherein, when generating the updated noise vector, at least one processor is programmed or configured to: multiply the gradient by a step size.
[0036] Clause 4: A system as in any of clauses 1 to 3, wherein 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; 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.
[0037] Clause 5: A system as 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 a Product of Experts (POE) procedure.
[0038] Clause 6: A system as in any of clauses 1 to 5, wherein, when a second machine learning model is trained using a POE program, at least one processor is further programmed or configured to: generate a non-normalized output from the first trained machine learning model based on multiple training samples of the training data set; generate a non-normalized output from the second machine learning model based on multiple training samples of the training data set; 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 a second trained machine learning model.
[0039] Clause 7: A system as described in any of clauses 1 to 6, wherein when a non-normalized output is generated from a first trained machine learning model based on multiple training samples of a training data set, at least one processor is programmed or configured to: generate the output of the first trained machine learning model based on multiple training samples of the training data set using a first logits function; wherein, when a non-normalized output is generated from a second machine learning model based on multiple training samples of the training data set, at least one processor is programmed or configured to: generate the output of the second machine learning model based on multiple training samples of the training data set using a second logits function; wherein, when the non-normalized output from the first trained machine learning model and the output from the second machine learning model are combined, When the non-normalized output of the second machine learning model is updated based on the combined non-normalized output 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 of the training data set and the output of the second machine learning model using the second logits function based on multiple training samples of the training data set to provide a combined output; and wherein, when the model weights of the second machine learning model are updated based on the combined non-normalized 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.
[0040] Clause 8: A computer-implemented method, comprising: executing a non-adversarial training program by at least one processor to train a machine learning model to provide a trained machine learning model, wherein executing the non-adversarial training program comprises: receiving a training data set comprising multiple training samples; generating a noise vector for the multiple training samples based on a uniform distribution; perturbing each of the multiple training samples based on the noise vector to provide multiple perturbed training samples; obtaining a gradient between a first output of the machine learning model generated by inputting each of the multiple training samples and a second output of the machine learning model generated by inputting each of the multiple perturbed training samples; generating an updated noise vector based on the gradient; perturbing each of the multiple 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.
[0041] Clause 9: A computer-implemented method as in 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 an input embedding size of the machine learning model to provide an initial value of the noise vector.
[0042] Clause 10: The computer-implemented method of clause 8 or 9, wherein generating the updated noise vector comprises: multiplying the gradient by a step size.
[0043] Clause 11: A computer-implemented method as in any one of clauses 8 to 10, further comprising: limiting the value of the 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.
[0044] Clause 12: A computer-implemented method as in any one of clauses 8 to 11, wherein the trained machine learning model is a first trained machine learning model, and wherein the method further comprises: training a second machine learning model based on the first trained machine learning model using a Product of Experts (POE) procedure.
[0045] Clause 13: A computer-implemented method as in any of clauses 8 to 12, wherein using the POE program to train a second machine learning model comprises: generating a non-normalized output from a first trained machine learning model based on a plurality of training samples of a training data set; generating a non-normalized output from a second machine learning model based on a plurality of training samples of a training data set; 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.
[0046] Clause 14: A computer-implemented method as in any one of clauses 8 to 13, wherein generating a non-normalized output from a first trained machine learning model based on multiple training samples of a training data set comprises: generating the output of the first trained machine learning model using a first logits function based on the multiple training samples of the training data set; wherein generating a non-normalized output from a second machine learning model based on the multiple training samples of the training data set comprises: generating the output of the second trained machine learning model using a second logits function based on the multiple training samples of the training data set; 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 multiple training samples of the training data set and the output of the second machine learning model using the second logits function based on the multiple training samples of the training data set 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.
[0047] 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 the at least one processor to: execute a non-adversarial training program to train a machine learning model to provide a trained machine learning model, wherein, when executing the non-adversarial training program, the one or more instructions cause the at least one processor to: receive a training data set 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 the machine learning model generated by inputting each of the plurality of training samples and a second output of the machine learning model generated by inputting 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.
[0048] Clause 16: A computer program product as 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 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 an input embedding size of the machine learning model to provide an initial value for the noise vector.
[0049] Clause 17: The computer program product of clause 15 or 16, wherein, when generating the updated noise vector, the one or more instructions cause the at least one processor to multiply the gradient by a step size.
[0050] Clause 18: A computer program product as in any of clauses 15 to 17, wherein the one or more instructions further cause the 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, the one or more instructions cause the 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.
[0051] Clause 19: A computer program product as in any one 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 a product of experts (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 multiple training samples of a training data set; generate a non-normalized output from the second machine learning model based on multiple training samples of the training data set; 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 a second trained machine learning model.
[0052] Clause 20: A computer program product as described in any of clauses 15 to 19, wherein, when a non-normalized output is generated from a first trained machine learning model based on a plurality of training samples of a training data set, one or more instructions cause at least one processor to: generate an output of the first trained machine learning model based on the plurality of training samples of the training data set using a first logits function; wherein, when a non-normalized output is generated from a second machine learning model based on the plurality of training samples of the training data set, one or more instructions cause at least one processor to: generate an output of the second trained machine learning model based on the plurality of training samples of the training data set using a second logits function; wherein, when the non-normalized output from the first trained machine learning model is combined The one or more instructions cause at least one processor to: combine the output of the first trained machine learning model using the first logits function based on multiple training samples of the training data set and the output of the second trained machine learning model using the second logits function based on multiple training samples of the training data set to provide a combined output; and wherein, 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 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.
[0053] These and other features and characteristics of the present disclosure, as well as methods of operation and functions of combinations of related structural elements and parts and economies of manufacturing will become more apparent when considering the following description and the appended claims with reference to the accompanying drawings, all of which form a part of this specification, wherein like reference numerals indicate corresponding parts in the various figures. However, it should be expressly understood that the drawings are for illustration and description purposes only and are not intended as a definition of the limitations of the present disclosure. Unless the context clearly dictates otherwise, when used in this specification and claims, the singular forms "a", "an", and "the" include plural referents. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] Additional advantages and details of the present disclosure are explained in more detail below with reference to the exemplary embodiments illustrated in the accompanying drawings, in which:
[0055] Figure 1 are diagrams of non-limiting embodiments or aspects of environments in which systems, devices, products, apparatuses, and / or methods described herein may be implemented according to the principles of the present disclosure;
[0056] Figure 2 yes Figure 1 Figures of non-limiting embodiments or aspects of components of one or more devices;
[0057] Figure 3 is a flowchart of a non-limiting embodiment or aspect of a process for mitigating dataset bias while generating a machine learning model for a classification task; and
[0058] FIG. 4A to FIG. 4O is a diagram of a non-limiting implementation or aspect of a process for mitigating dataset bias while generating a machine learning model for a classification task. DETAILED DESCRIPTION
[0059] For the purpose of description below, the terms "end", "upper", "lower", "right", "left", "vertical", "horizontal", "top", "bottom", "lateral", "longitudinal" and their derivatives shall refer to the present disclosure as it is oriented in the accompanying drawings. However, it should be understood that the present disclosure may adopt various alternative variations and step sequences, unless expressly specified to the contrary. 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 the present disclosure. Therefore, unless otherwise indicated, specific dimensions and other physical characteristics related to the embodiments or aspects of the embodiments disclosed herein should not be considered limiting.
[0060] The aspects, parts, elements, structures, actions, steps, functions, instructions, etc. used herein should not be understood as critical or necessary unless explicitly described as such. In addition, as used herein, the article "one" is intended to include one or more items, and can be used interchangeably with "one or more" and "at least one". In addition, as used herein, the term "set" is intended to include one or more items (e.g., related items, unrelated items, a combination of related items and unrelated items, etc.), and can be used interchangeably with "one or more" or "at least one". In the case of intending to have only one item, the term "one" or similar language is used. Moreover, as used herein, the term "having" and / or its analogs are intended to be open terms. In addition, unless otherwise explicitly stated, the phrase "based on" is intended to mean "based at least in part". Where appropriate, the phrase "based on" may also mean "in response to".
[0061] As used herein, the terms "communication" and "transmission" may refer to the acceptance, reception, transmission, transmission, provision, etc. of information (e.g., data, signals, messages, instructions, commands, etc.). A unit (e.g., a device, a system, a component of a device or system, a combination thereof, etc.) communicating with another unit means that the unit is able to directly or indirectly receive information from the other unit and / or transmit (e.g., send) information to the other unit. This may refer to a direct or indirect connection that is wired and / or wireless in nature. In addition, although the information sent may be modified, processed, relayed, and / or routed between the first unit and the second unit, the two units may also communicate with each other. For example, even if the first unit passively receives information and does not actively send information to the second unit, the first unit may communicate with the second unit. As another example, if at least one intermediate unit (e.g., a third unit located between the first unit and the second unit) processes the information received from the first unit and sends the processed information to the second unit, the first unit may communicate with the second unit. In some non-limiting embodiments or aspects, a message may refer to a network packet (e.g., a data packet, etc.) comprising data.
[0062] As used herein, the term "transaction service provider" may refer to an entity that receives transaction authorization requests from merchants or other entities and, in some cases, provides payment assurance through an agreement between the transaction service provider and an issuer organization. For example, a transaction service provider may include a payment network such as American or any other entity that processes transactions. As used herein, the term "transaction service provider system" may refer to one or more computer systems operated by or on behalf of a transaction service provider, such as a transaction service provider system that executes 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 a transaction service provider.
[0063] As used herein, the terms "client" and "client device" may refer to one or more computing devices, such as processors, storage devices, and / or similar computer components that access services that may be provided by a server. In some non-limiting embodiments or aspects, a client device may include a computing device 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, smart phones, personal digital assistants, wearable devices such as watches, glasses, lenses, and / or clothing, etc.), and / or other similar devices. In addition, the term "client" may also refer to an entity that owns, uses, and / or operates a client device to facilitate a transaction with another entity.
[0064] As used herein, the term "server" may 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 over a network, such as the Internet or a private network, and, in some examples, facilitate communications between other servers and / or client devices.
[0065] 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. In addition, as used herein, references to "servers" or "processors" may refer to previously described servers and / or processors stated as performing a previous step or function, 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 as performing a first step or function may refer to the same or different servers and / or processors stated as performing a second step or function.
[0066] Systems, methods, and computer program products are provided for mitigating data set bias while generating a machine learning model for a classification task. Non-limiting embodiments or aspects of the present disclosure may include a system comprising: at least one processor, the at least one processor being 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 data set including 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 the machine learning model generated by inputting each of the plurality of training samples and a second output of the machine learning model generated by inputting 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.
[0067] In some non-limiting embodiments or aspects, when generating a noise vector for a plurality of training samples, at least one processor is programmed or configured to: initialize the noise vector using a uniform distribution. In some non-limiting embodiments or aspects, 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 of the noise vector.
[0068] 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 a step size.
[0069] 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 each of the 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 the plurality of training samples based on the second updated noise vector to provide a second plurality of perturbed training samples.
[0070] 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 a product of experts (POE) procedure.
[0071] In some non-limiting embodiments or aspects, when a second machine learning model is trained using the POE program, at least one processor is further programmed or configured to: generate a non-normalized output from the first trained machine learning model based on multiple training samples of the training data set; generate a non-normalized output from the second machine learning model based on multiple training samples of the training data set; 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 a second trained machine learning model.
[0072] In some non-limiting embodiments or aspects, when a non-normalized output is generated from a first trained machine learning model based on a plurality of training samples of a training data set, at least one processor is programmed or configured to: generate the output of the first trained machine learning model based on the plurality of training samples of the training data set using a first logits function. In some non-limiting embodiments or aspects, when a non-normalized output is generated from a second machine learning model based on a plurality of training samples of the training data set, at least one processor is programmed or configured to: generate the output of the second trained machine learning model based on the plurality of training samples of the training data set using a second logits function. 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 based on the plurality of training samples of the training data set using the first logits function and the output of the second trained machine learning model based on the plurality of training samples of the training data set using the second logits function 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 non-normalized 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.
[0073] In this way, non-limiting embodiments or aspects of the present disclosure use non-adversarial training to generate biased machine learning models. By applying non-adversarial training, the machine learning model can learn from the deviations of the training data set and use the deviation characteristics of the training data set to make predictions. Compared with the machine learning model trained using adversarial training, the machine learning model trained using non-adversarial training may be more dependent on the data set bias contained in the training data set. Further, applying non-adversarial training to multiple training samples of the training data set 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 the POE program can produce a more robust and more accurate second trained machine learning model by improving the performance of the second trained machine learning model (e.g., a student model). Training a student model using the POE program (e.g., using a first trained machine learning model as a guide for training a second machine learning model) can improve the second machine learning model by making the predictions of the second machine learning model more accurate.
[0074] Reference now Figure 1 , a diagram of an exemplary environment 100 is shown in which the devices, systems, and / or methods described herein may be implemented. Figure 1As shown, environment 100 includes a machine learning model system 102, a database 108, a user device 110, and a communication network 112. The machine learning model system 102, the database 108, and / or the user device 110 may be interconnected (e.g., connected to communicate) via a wired connection, a wireless connection, or a combination of wired and wireless connections.
[0075] The machine learning model system 102 may include one or more devices configured to communicate with the database 108 and / or the user device 110 via the communication network 112. For example, the machine learning model system 102 may include a server, a server group, and / or other similar devices. In some non-limiting embodiments or aspects, the machine learning model system 102 may be associated with a transaction service provider system, as described herein.
[0076] 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 may 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, debiased focal loss, example reweighting, etc. The trained teacher model may be used to teach the student model 106 to make the same predictions as the trained teacher model.
[0077] 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 input to one or more machine learning models and / or output 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 a teacher model 104 and / or a 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 to the machine learning model system 102. In some non-limiting embodiments or aspects, the machine learning model system 102 is capable of receiving information from a database 108, storing information in a database 108, transmitting information to a database 108, and / or searching for information stored in a database 108.
[0078] The database 108 may include one or more devices configured to communicate with the machine learning model system 102 and / or the user device 110 via the communication network 112. For example, the database 108 may include a computing device such as a server, a server group, and / or other similar devices. In some non-limiting embodiments or aspects, the database 108 may be associated with the transaction service provider system discussed herein.
[0079] The user device 110 may include a computing device configured to communicate with the machine learning model system 102 and / or the database 108 via the communication network 112. For example, the user device 110 may include a computing device such as a desktop computer, a portable computer (e.g., a tablet computer, a laptop computer, etc.), a mobile device (e.g., a cellular phone, a smartphone, a personal digital assistant, a wearable device, etc.), and / or other similar devices. In some non-limiting embodiments or aspects, the user device 110 may be associated with a user (e.g., an individual operating the user device 110).
[0080] The communication network 112 may include one or more wired and / or wireless networks. For example, the communication network 112 may include a cellular network (e.g., a long term evolution (LTE) network, a third generation (3G) network, a fourth generation (4G) network, a fifth generation (5G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., a public switched telephone network (PSTN)), etc.), a private network, an ad hoc network, an intranet, the Internet, a fiber-based network, a cloud computing network, etc. and / or a combination of some or all of these or other types of networks.
[0081] supply Figure 1 The number and arrangement of devices and networks shown in are examples. Figure 1 Additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or differently arranged devices and / or networks than those shown in . In addition, Figure 1 Two or more of the devices shown in the figure may be implemented in a single device, or Figure 1 The single device shown in the embodiment may be implemented as multiple distributed devices. Additionally or alternatively, one or more devices of the environment 100 may perform one or more functions described as being performed by another set of devices of the environment 100.
[0082] Reference now Figure 2, a diagram showing exemplary components of a device 200 is shown. The device 200 may correspond to 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. In some non-limiting embodiments or aspects, the machine learning model system 102, the database 108, and / or the user device 110 may include at least one device 200 and / or at least one component of the device 200. Figure 2 As shown in FIG. 2 , device 200 may include a bus 202 , a processor 204 , a memory 206 , a storage component 208 , an input component 210 , an output component 212 , and a communication interface 214 .
[0083] The bus 202 may include components that permit communication between components of the device 200. In some non-limiting embodiments or aspects, the processor 204 may be implemented in hardware, software, or a combination of hardware and software. For example, the processor 204 may include a processor (e.g., a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), etc.), a microprocessor, a digital signal processor (DSP), and / or any processing component that can be programmed to perform a function (e.g., a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), etc.). The memory 206 may include a random access memory (RAM), a 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 the processor 204.
[0084] 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 a hard disk (e.g., magnetic disk, optical disk, magneto-optical disk, solid-state disk, etc.), a compact disk (CD), a digital versatile disk (DVD), a floppy disk, a cassette, a magnetic tape, and / or another type of computer-readable medium, and a corresponding drive.
[0085] Input components 210 may include components that permit device 200 to receive information, for example, via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, buttons, switches, a microphone, etc.). Additionally or alternatively, input components 210 may include sensors for sensing information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, an actuator, etc.). Output components 212 may include components that provide output information from device 200 (e.g., a display, a speaker, one or more light emitting diodes (LEDs), etc.).
[0086] The communication interface 214 may include a transceiver-type component (e.g., a transceiver, a separate receiver and transmitter, etc.) that enables the device 200 to communicate with other devices, for example, via a wired connection, a wireless connection, or a combination of a wired connection and a wireless connection. The communication interface 214 may permit the device 200 to receive information from another device and / or provide information to another device. For example, the 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, Interface, cellular network interface, etc.
[0087] The device 200 may perform one or more processes described herein. The device 200 may perform these processes based on the processor 204 executing software instructions stored by a computer-readable medium such as the memory 206 and / or the storage component 208. 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 a memory space located within a single physical storage device or a memory space spread across multiple physical storage devices.
[0088] The software instructions may be read into the memory 206 and / or storage component 208 from another computer-readable medium or from another device via the communication interface 214. When executed, the software instructions stored in the memory 206 and / or storage component 208 may cause the processor 204 to perform one or more processes described herein. Additionally or alternatively, hard-wired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Therefore, the embodiments or aspects described herein are not limited to any specific combination of hardware circuitry and software.
[0089] supply Figure 2 The number and arrangement of components shown in FIG. 2 are provided as examples. In some non-limiting embodiments or aspects, the device 200 may include a Figure 2 Components shown in the figure may include additional components, fewer components, different components, or differently arranged components than those shown in the figure. Additionally or alternatively, a group of components (e.g., one or more components) of the device 200 may perform one or more functions described as being performed by another group of components of the device 200.
[0090] Reference now Figure 3, a flow chart 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 of the steps of process 300 may be performed (e.g., completely, partially, etc.) by a 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 of the steps of process 300 may be performed (e.g., completely, partially, etc.) by another device or group of devices that is separate from or includes 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.
[0091] like Figure 3 As shown in , at step 302, process 300 includes receiving a training data set. For example, the machine learning model system 102 may receive (e.g., from a database 108) a training data set for training one or more machine learning models. In some non-limiting embodiments or aspects, the training data set may include a data set deviation. In some non-limiting embodiments or aspects, the training data set may include a plurality of training samples. In some non-limiting embodiments or aspects, each of the plurality of training samples of the training data set may be labeled. In some non-limiting embodiments or aspects, the plurality of training samples may be a plurality of input embeddings (e.g., embedding vectors). In some non-limiting embodiments or aspects, the plurality of input embeddings may be word embeddings. In some non-limiting embodiments or aspects, the training data set may be stored in a storage component and / or in a database 108.
[0092] In some non-limiting embodiments or aspects, upon receiving a training data set, the machine learning model system 102 may provide the training data set as an input to one or more machine learning models. For example, upon receiving a training data set, the machine learning model system 102 may provide the training data set as an input to the teacher model 104 and / or the student model 106. In some non-limiting embodiments or aspects, the machine learning model system 102 may receive a training data set corresponding to an output from one or more machine learning models. In some non-limiting embodiments or aspects, the machine learning model system 102 may input a training data set corresponding to an output 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 data set corresponding to an output of a trained machine learning model, where the output may be provided as an input to the teacher model 104 and / or the student model 106.
[0093] In some non-limiting embodiments or aspects, the machine learning model system 102 can use machine learning techniques to analyze the training data set to train and provide a trained teacher model and / or a trained student model. Machine learning techniques can include, for example, supervised learning, unsupervised learning, adversarial training, non-adversarial training, POE procedures, debiased focal loss, example reweighting, etc. For example, the machine learning model system 102 can use machine learning techniques to analyze the training data set to train the teacher model 104 and / or the student model 106 and provide a trained teacher model and / or a trained student model.
[0094] In some non-limiting embodiments or aspects, the plurality of 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 of the plurality of training samples of the training data set may represent an institution (e.g., an issuer, a bank, a merchant, etc.). In some non-limiting embodiments or aspects, each of the plurality of training samples of the training data set may be associated with an event (e.g., a transaction, an account opening, a funds transfer, etc.). In some non-limiting embodiments or aspects, each of the plurality of training samples may be received in real time relative to the event. In some non-limiting embodiments or aspects, each of the plurality of training samples 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 an electronic payment transaction. The transaction parameters may include electronic wallet card data associated with an electronic card (e.g., electronic credit card, electronic debit card, electronic membership card, etc.), decision data associated with a decision (e.g., a decision to approve or deny a transaction authorization request), authorization data associated with an authorization response (e.g., approved spending limit, approved transaction value, etc.), a primary account number (PAN), an authorization code (e.g., a personal identification number, etc.), data associated with a transaction amount (e.g., approved limit, transaction value, etc.), data associated with a transaction date and time, data associated with a currency conversion rate, data associated with a merchant type (e.g., merchandise, groceries, fuel, etc.), data associated with an acquirer country, data associated with an identifier of a country associated with the PAN, data associated with a response code, data associated with a merchant identifier (e.g., merchant name, merchant location, etc.), data associated with a currency type corresponding to funds stored associated with the PAN, etc. In some non-limiting embodiments or aspects, each of the plurality of training samples may be stored and compiled into a training data set for future training.
[0095] In some non-limiting embodiments or aspects, the machine learning model system 102 may generate multiple input embeddings. For example, the machine learning model system 102 may generate multiple input embedding vectors based on multiple training samples of a training data set using one or more machine learning models. Additionally or alternatively, the multiple training samples may be input embedding vectors. In some non-limiting embodiments or aspects, each of the multiple input embedding vectors may 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 may be the input embedding size of one or more machine learning models of the machine learning model system 102.
[0096] like Figure 3 As shown, at step 304, process 300 includes generating a noise vector. For example, upon receiving a training data set, the machine learning model system 102 may generate a noise vector. In some non-limiting embodiments or aspects, the machine learning model system 102 may generate a noise vector for a plurality of training samples. For example, the machine learning model system 102 may generate a noise vector for a plurality of training samples based on a uniform distribution.
[0097] In some non-limiting embodiments or aspects, when generating a noise vector, the machine learning model system 102 may initialize the noise vector for multiple training samples. For example, the machine learning model system 102 may initialize (e.g., randomize using a known encryption method) a noise vector for multiple training samples, wherein the size (e.g., length) of the noise vector may 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 may 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 may initialize the noise vector for multiple training samples using a uniform distribution. In some non-limiting embodiments or aspects, when initializing the noise vector for multiple training samples, the machine learning model system 102 may multiply the uniform distribution by a predefined radius. In some non-limiting embodiments or aspects, the predefined radius may be less than the amplitude of the noise vector. For example, the machine learning model system 102 may multiply the uniform distribution by a predefined radius to provide a second uniform distribution for multiple training samples. In some non-limiting embodiments or aspects, when initializing the noise vector for multiple training samples, the machine learning model system 102 may divide the second uniform distribution by the square root of the input embedding size of the machine learning model. For example, when initializing the noise vector for multiple training samples, the machine learning model system 102 may 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.
[0098] In some non-limiting embodiments or aspects, the machine learning model system 102 may perturb each of the plurality of training samples. In some non-limiting embodiments or aspects, the machine learning model system 102 may perturb each of the plurality of training samples based on a noise vector. For example, the machine learning model system 102 may perturb each of the 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 the plurality of training samples, the machine learning model system 102 may add a noise vector to each of the plurality of training samples.
[0099] like Figure 3 As shown, at step 306, process 300 includes obtaining a gradient. For example, the machine learning model system 102 may obtain a gradient. In some non-limiting embodiments or aspects, the gradient may be a derivative (e.g., a 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, the machine learning model system 102 may obtain (e.g., calculate) the gradient of a function (e.g., a loss function), where the input variables may be multiple training samples and / or multiple perturbed training samples. In some non-limiting embodiments or aspects, the machine learning model system 102 may obtain a gradient with respect to a noise vector. For example, the machine learning model system 102 may obtain a gradient with respect to a noise vector based on multiple training samples and / or multiple perturbed training samples.
[0100] In some non-limiting embodiments or aspects, the machine learning model system 102 may determine the direction of the gradient. In some non-limiting embodiments or aspects, the direction of the gradient may be the direction (e.g., the direction of movement) of a vector starting from one of the plurality of training samples and ending at a corresponding perturbed training sample in the plurality of perturbed training samples.
[0101] In some non-limiting embodiments or aspects, the machine learning model system 102 may obtain a gradient between a first output of the machine learning model and a second output of the machine learning model. In some non-limiting embodiments or aspects, the first output of the machine learning model may 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 may be generated by inputting each of a plurality of perturbed training samples into the machine learning model.
[0102] like Figure 3As shown, at step 308, process 300 includes generating an updated noise vector. For example, the machine learning model system 102 can generate an updated noise vector. In some non-limiting embodiments or aspects, the machine learning model system 102 can generate an updated noise vector based on a gradient.
[0103] In some non-limiting embodiments or aspects, when generating an updated noise vector, the machine learning model system 102 may multiply the gradient by the step size. For example, the machine learning model system 102 may multiply the gradient by the 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., to change 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.
[0104] In some non-limiting embodiments or aspects, the machine learning model system 102 may limit the value of the updated noise vector. For example, the machine learning model system 102 may limit (e.g., clamp) the value of the updated noise vector. In some non-limiting embodiments or aspects, the machine learning model system 102 may limit the value of the updated noise vector based on a predefined radius to provide a second updated noise vector.
[0105] In some non-limiting embodiments or aspects, the machine learning model system 102 may perturb each of the multiple training samples based on the updated noise vector. For example, the machine learning model system 102 may perturb each of the multiple 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 perturbing each of the multiple training samples based on the updated noise vector to provide a second plurality of perturbed training samples, the machine learning model system 102 may perturb each of the multiple training samples based on the second updated noise vector to provide a second plurality of perturbed training samples. In some non-limiting embodiments or aspects, the machine learning model system 102 may perturb each of the multiple training samples by adding the updated noise vector to the multiple training samples.
[0106] like Figure 3As shown, at step 310, process 300 includes updating the model weights of the machine learning model. For example, the machine learning model system 102 can update the model weights of the teacher model 104 based on the second plurality of perturbed training samples to provide trained machine learning. In some non-limiting embodiments or aspects, the trained machine learning model can be a first trained machine learning model. In some non-limiting embodiments or aspects, the first trained machine learning model can be the teacher model 104.
[0107] In some non-limiting embodiments or aspects, the machine learning model system 102 may use the POE program to train a second machine learning model. The POE program may be an integrated method for combining predictions of at least two models, for example, a first biased model (e.g., a teacher model) and a second biased model (e.g., a student model) that is less biased than the first biased model. The POE program may use the predictions of the first trained model (e.g., the teacher model 104) as guidance for training a second model (e.g., the student model 106). In some non-limiting embodiments or aspects, the machine learning model system 102 may use the POE program 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 the POE program to train the student model 106 based on the trained teacher model 104.
[0108] In some non-limiting embodiments or aspects, when the second machine learning model is trained 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 the student model 106 is trained 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 of the training data set.
[0109] In some non-limiting embodiments or aspects, when the second machine learning model is trained using the POE procedure, the machine learning model system 102 can generate non-normalized outputs from the second machine learning model. For example, when the student model 106 is trained using the POE procedure, the machine learning model system 102 can generate non-normalized outputs from the student model 106 based on multiple training samples of the training data set.
[0110] In some non-limiting embodiments or aspects, the machine learning model system 102 can 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. For example, the machine learning model system 102 can combine the non-normalized output from the trained teacher model 104 and the non-normalized output from the student model 106 to provide a combined non-normalized output.
[0111] 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.
[0112] In some non-limiting embodiments or aspects, when a non-normalized output is generated from a first trained machine learning model based on a plurality of training samples of a training data set, the machine learning model system 102 may generate the output of the first trained machine learning model using a first logits function. For example, when a non-normalized output is generated from a trained teacher model 104 based on a plurality of training samples of a training data set, the machine learning model system 102 may generate the output of the trained teacher model 104 using a first logits function based on a plurality of training samples of a training data set.
[0113] In some non-limiting embodiments or aspects, when a non-normalized output is generated from the second machine learning model based on multiple training samples of the training data set, 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 non-normalized output is generated from the student model 106 based on multiple training samples of the training data set, the machine learning model system 102 can use a second logits function to generate the output of the student model 106 based on multiple training samples of the training data set.
[0114] In some non-limiting embodiments or aspects, when combining the unnormalized output from the first trained machine learning model and the unnormalized output from the second machine learning model to provide the combined unnormalized output, the machine learning model system 102 may combine the output of the first trained machine learning model using the first logits function based on multiple training samples of the training data set and the output of the second machine learning model using the second logits function based on multiple training samples of the training data set to provide the combined output. For example, when combining the unnormalized output from the trained teacher model 104 and the unnormalized output from the student model 106 to provide the combined unnormalized output, the machine learning model system 102 may combine the output of the trained teacher model 104 using the first logits function based on multiple training samples of the training data set and the output of the student model 106 using the second logits function based on multiple training samples of the training data set to provide the combined output.
[0115] In some non-limiting embodiments or aspects, when the model weights of the second machine learning model are updated 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 the second trained machine learning model. For example, when the model weights of the student model 106 are updated 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 the student model 106 based on the combined output to provide a trained student model 106.
[0116] In some non-limiting embodiments or aspects, the machine learning model system 102 may train one or more machine learning models to perform one or more tasks. For example, the machine learning model system 102 may train the teacher model 104 and / or the 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 may train the teacher model 104 and / or the student model 106 to determine the inference relationship between a pair of sentences (e.g., premise and hypothesis). In some non-limiting embodiments or aspects, the inference relationship may be one of implication (e.g., premise and hypothesis are similar), contradiction (e.g., premise and hypothesis are not similar), and / or neutral (e.g., premise and hypothesis are neither similar nor contradictory).
[0117] In some non-limiting embodiments or aspects, the machine learning model system 102 may train one or more machine learning models using transformer-based machine learning techniques for natural language processing. In some non-limiting embodiments or aspects, the machine learning model system 102 may train the teacher model 104 using non-adversarial training techniques. In some non-limiting embodiments or aspects, the machine learning model system 102 may train the student model 106 using a POE program. In some non-limiting embodiments or aspects, the teacher model 104 and / or the student model 106 may be a transformer-based bidirectional encoder representation (bidirectional encoder representations from transformers, BERT) model. In some non-limiting embodiments or aspects, the BERT model may be trained on two natural language processing tasks (e.g., masked language modeling and next sentence prediction).
[0118] 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.
[0119] In some non-limiting embodiments or aspects, the machine learning model system 102 can store one or more trained machine learning models. For example, the machine learning model system 102 can store trained teacher models and / or trained student models in a data structure (e.g., a database). The data structure can be located within the machine learning model system 102 or outside the machine learning model system 102 (e.g., remote from the machine learning model system).
[0120] Reference now FIG. 4A to FIG. 4O , a diagram of an implementation 400 of a process (e.g., process 300) for mitigating dataset bias while generating a machine learning model for a classification task is shown. FIG. 4A to FIG. 4O As shown, implementation 400 may include one or more steps of a process performed by machine learning model system 102 (e.g., one or more devices of machine learning model system 102). In some non-limiting embodiments or aspects, machine learning model system 102 may use non-adversarial training to train one or more machine learning models. For example, machine learning model system 102 may be as follows FIG. 4B to FIG. 4I In some non-limiting embodiments or aspects, the machine learning model system 102 may use a POE program to train one or more machine learning models. For example, the machine learning model system 102 may use a POE program to train one or more machine learning models. FIG. 4J to FIG. 4O The POE program is shown used to train one or more machine learning models.
[0121] like Figure 4A As shown, at step 410, the machine learning model system 102 may receive a training data set (e.g., [x1, x2 ... xm]). In some non-limiting embodiments or aspects, the training data set may be a multi-genre natural language inference (MNLI) data set. In some non-limiting embodiments or aspects, the machine learning model system 102 may receive the training data set [x1, x2 ... xm] from the database 108.
[0122] In some non-limiting embodiments or aspects, a training dataset [x1, x2 . . . xm] may be used to train one or more machine learning models.
[0123] In some non-limiting embodiments or aspects, one or more machine learning models may be defined by a function f with parameters θ. In some non-limiting embodiments or aspects, a training data set 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, multiple training samples xi may be input embedding vectors. For example, multiple training samples may be word embeddings. In some non-limiting embodiments or aspects, multiple training samples may have an input embedding size Li (e.g., the vector length of xi).
[0124] In some non-limiting embodiments or aspects, the machine learning model system 102 can use non-adversarial training techniques to analyze the training data set [x1, x2 ... xm]. In some non-limiting embodiments or aspects, the non-adversarial training techniques can be based on known adversarial training techniques. For example, a known adversarial training procedure for perturbing training samples of a training data set (e.g., in a first direction) to increase training loss can be imitated. The non-adversarial training procedure can perturb multiple training samples of a training data set (e.g., in a second direction) to reduce training loss.
[0125] In some non-limiting embodiments or aspects, the machine learning model system 102 may perform a non-adversarial training procedure to train one or more machine learning models. For example, the machine learning model system 102 may perform a non-adversarial training procedure to train the 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 are described in FIG. 4B to FIG. 4I Shown in.
[0126] like Figure 4B As shown, in step 412, the machine learning model system 102 may 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 may use a uniform distribution to initialize the noise vector. For example, for each training sample xi in multiple training samples, the machine learning model system 102 may use a uniform distribution to initialize the noise vector δ. In some non-limiting embodiments or aspects, the size of the noise vector δ may 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 ∈ to provide 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 according to the following:
[0127]
[0128] like Figure 4C As shown, at step 414, the machine learning model system 102 may perturb each training sample. For example, the machine learning model system 102 may perturb each training sample xi in 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, the plurality of training samples xi may be perturbed by adding the noise vector δ.
[0129] 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 by inputting each of a plurality of training samples and a second output of the machine learning model generated by inputting each of a plurality of perturbed training samples. For example, the gradient can be the difference between the loss obtained from the perturbed input (e.g., a plurality of training samples perturbed based on the noise vector) and a plurality of training samples (e.g., labeled training samples).
[0130] like Figure 4E As shown, in step 418, the machine learning model system 102 may generate an updated noise vector. For example, the machine learning model system 102 may generate an updated noise vector δ based on the obtained gradient. In some non-limiting embodiments or aspects, the machine learning model system 102 may generate a noise vector δ by multiplying the gradient by a step size α. In some non-limiting embodiments or aspects, in order to minimize the training loss, the step size α may be multiplied by -1. In some non-limiting embodiments or aspects, the machine learning model system 102 may generate an updated noise vector δ (yi is the correct label (e.g., the label of the training sample)) based on the following:
[0131]
[0132] like Figure 4F As shown, at step 420, the machine learning model system 102 may limit the value of the updated noise vector. For example, the machine learning system 102 may limit (e.g., clamp) 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, the second updated noise vector may be generated based on:
[0133]
[0134] like Figure 4G As shown, at step 422, the machine learning model system 102 may perturb each training sample to provide a second plurality of perturbed training samples. For example, the machine learning model system 102 may perturb each training sample xi in the plurality of training samples based on the updated noise vector δ to provide a second plurality of perturbed training samples x′i. In some non-limiting embodiments or aspects, each training sample xi in the plurality of training samples may be updated by adding the updated noise vector δ based on the following:
[0135] x′ i =x i +δ
[0136] like Figure 4H As shown, at step 424, the machine learning model system 102 may update the model weights of the machine learning model. For example, the machine learning model system 102 may update the model weights of the machine learning model based on the second plurality of perturbed training samples x′i to provide a trained machine learning model. In some non-limiting embodiments or aspects, the model weights of the machine learning model may be updated based on:
[0137]
[0138] like Fig. 4I As shown, at 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 a 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 the teacher model 104.
[0139] like Figure 4J As shown, at step 428, the machine learning model system 102 can use the POE program to train a second machine learning model. For example, the machine learning model system 102 can use the 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 the POE program to train the student model 106 based on the trained teacher model. Figure 4J A non-limiting embodiment or aspect of training the student model 106 using the POE procedure is shown in FIG. 4P .
[0140] like Figure 4KAs shown, in step 430, the machine learning model system 102 can generate a non-normalized output of the first trained machine learning model. For example, the machine learning model system 102 can generate a non-normalized output of the trained teacher model 104 based on inputting multiple training samples of the training data set into the trained teacher model 104. In some non-limiting embodiments or aspects, when a non-normalized output is generated from the first trained machine learning model based on multiple training samples of the training data set, the machine learning model system 102 can use a first logits function (e.g., logitsbias) based on multiple training samples xi of the training data set to generate the output of the first trained machine learning model. For example, the machine learning model system 102 can generate the output of the trained teacher model 104 based on the following:
[0141] logits bias =f bias (x i )
[0142] like Figure 4L As shown, in step 432, the machine learning model system 102 may generate a non-normalized output of the second machine learning model. For example, the machine learning model system 102 may generate a non-normalized output of the student model 106. In some non-limiting embodiments or aspects, when a non-normalized output is generated from the second machine learning model based on a plurality of training samples of the training data set, the machine learning model system 102 may generate an output of the second trained machine learning model using a second logits function (e.g., logitsbias) based on a plurality of training samples xi of the training data set. For example, the machine learning model system 102 may generate an output of the student model 106 based on:
[0143] logits main =f θ (x i )
[0144] like Figure 4MAs shown, in step 434, the machine learning model system 102 may combine the non-normalized outputs. For example, the machine learning model system 102 may combine the non-normalized outputs from the first trained machine learning model and the outputs from the second machine learning model to provide a combined non-normalized output. In some non-limiting embodiments or aspects, when combining the non-normalized outputs from the first trained machine learning model and the non-normalized outputs from the second machine learning model to provide a combined non-normalized output, the machine learning model system 102 may combine the outputs of the first trained machine learning model using a first logits function based on multiple training samples of the training data set and the outputs of the second trained machine learning model using a second logits function based on multiple training samples of the training data set to provide a combined output. For example, the machine learning model system 102 may combine the outputs of the trained teacher model 104 using a first logits function (e.g., logitsbias) based on multiple training samples of the training data set and the outputs of the student model 106 using a second logits function (e.g., logitsmain) based on multiple training samples of the training data set to provide a combined output (e.g., logitscombined) based on the following:
[0145] logits combined =logits main +logits bias
[0146] like Figure 4N As shown, at step 436, the machine learning model system 102 may update the model weights of the second machine learning model. In some non-limiting embodiments or aspects, the machine learning model system 102 may 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 may update the weights of the student model 106 based on:
[0147]
[0148] like Fig.4O As shown, at step 438, the machine learning model system 102 may provide a second trained machine learning model. For example, the machine learning model system 102 may provide a trained student model 106. In some non-limiting embodiments or aspects, when the model weights of the second machine learning model are updated based on the combined non-normalized output to provide the 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 the second trained machine learning model.
[0149] In some non-limiting embodiments or aspects, the first machine learning model (e.g., teacher model) and the second machine learning model (e.g., student model) can be a Bidirectional Encoder Representation Based on Transformer (BERT) model. In some non-limiting embodiments or aspects, the biased model (e.g., teacher model) can be a BERT model having at least two layers and a hidden size of 128 (e.g., 128 hidden layers).
[0150] Although the above systems, methods, and computer program products have been described in detail for illustrative purposes based on what are currently considered to be the most practical and preferred embodiments, it should be understood that such details are only for that purpose, and the present disclosure is not limited to the described embodiments, but rather, the present disclosure is intended to cover modifications and equivalent arrangements within the spirit and scope of the appended claims. For example, it should be understood that the present disclosure contemplates that, to the extent possible, 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, comprising: at least one processor programmed or configured to: executing 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 programmed or configured to: Receiving a training data set including a plurality of training samples; generating a noise vector for the plurality of training samples based on a first uniform distribution; perturbing each training sample 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 the machine learning model generated by inputting each of the plurality of training samples and a second output of the machine learning model generated by inputting each of the plurality of perturbed training samples; generating an updated noise vector based on the gradient; perturbing each training sample in the plurality of training samples based on the updated noise vector 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 of claim 1, wherein: When generating the noise vector for the plurality of training samples, the at least one processor is programmed or configured to: Initializing the noise vector using a uniform distribution, wherein when initializing the noise vector, the at least one processor is programmed or configured to: multiplying the first uniform distribution by a predefined radius to provide a second uniform distribution; and The second uniform distribution is divided by the square root of an input embedding size of the machine learning model to provide an initial value for the noise vector.
3. The system of 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: limiting the value of the updated noise vector based on a predefined radius to provide a second updated noise vector; and in, When perturbing each of the plurality of training samples 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 training sample in 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 based on the first trained machine learning model using a Product of Experts (POE) procedure.
6. The system of claim 5, wherein when training the second machine learning model using the POE program, the at least one processor is further programmed or configured to: generating a non-normalized output from the first trained machine learning model based on the plurality of training samples of the training dataset; generating a non-normalized output from the second machine learning model based on the plurality of training samples of the 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; as well as The model weights of the second machine learning model are updated based on the combined non-normalized output to provide the second trained machine learning model.
7. The system of claim 6, wherein: When generating the non-normalized output from the first trained machine learning model based on the plurality of training samples of the training data set, the at least one processor is programmed or configured to: generating an output of the first trained machine learning model using a first logits function based on the plurality of training samples of the training dataset; Wherein, when generating the non-normalized output from the second machine learning model based on the plurality of training samples of the training data set, the at least one processor is programmed or configured to: Generate an output of the second machine learning model using a second logits function based on the multiple training samples of the training data set; 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 the combined non-normalized output, the at least one processor is programmed or configured to: combining the output of the first trained machine learning model using the first logits function based on the plurality of training samples of the training data set and the output of the second machine learning model using the second logits function based on the plurality of training samples of the training data set to provide a combined output; and wherein, when updating the model weights of the second machine learning model based on the combined non-normalized output 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, the 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 comprises: Receiving a training data set including a plurality of training samples; generating a noise vector for the plurality of training samples based on a first uniform distribution; perturbing each training sample 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 the machine learning model generated by inputting each of the plurality of training samples and a second output of the machine learning model generated by inputting each of the plurality of perturbed training samples; generating an updated noise vector based on the gradient; perturbing each training sample in the plurality of training samples based on the updated noise vector 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: Initializing the noise vector using a uniform distribution, wherein initializing the noise vector comprises: multiplying the first uniform distribution by a predefined radius to provide a second uniform distribution; and The second uniform distribution is divided by the square root of an 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: limiting a value of the updated noise vector based on a predefined radius to provide a second updated noise vector; Wherein perturbing each training sample in the plurality of training samples based on the updated noise vector to provide the second plurality of perturbed training samples comprises: Each training sample in 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 based on the first trained machine learning model using a Product of Experts (POE) procedure.
13. The computer-implemented method of claim 12, wherein using the POE program to train the second machine learning model comprises: generating a non-normalized output from the first trained machine learning model based on the plurality of training samples of the training dataset; generating a non-normalized output from the second machine learning model based on the plurality of training samples of the 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; as well as The model weights of the second machine learning model are updated based on the combined non-normalized output to provide the 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: generating an output of the first trained machine learning model using a first logits function based on the plurality of training samples of the training dataset; Wherein generating the non-normalized output from the second machine learning model based on the plurality of training samples of the training data set comprises: Generate an output of the second machine learning model using a second logits function based on the multiple training samples of the training data set; 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 the 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 of the training data set and the output of the second machine learning model using the second logits function based on the plurality of training samples of the training data set 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 the second trained machine learning model comprises: 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, 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 that, when executed by at least one processor, cause the at least one processor to: performing 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 one or more instructions cause the at least one processor to: Receiving a training data set including a plurality of training samples; generating a noise vector for the plurality of training samples based on a first uniform distribution; perturbing each training sample 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 the machine learning model generated by inputting each of the plurality of training samples and a second output of the machine learning model generated by inputting each of the plurality of perturbed training samples; generating an updated noise vector based on the gradient; perturbing each training sample in the plurality of training samples based on the updated noise vector 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 vectors for the plurality of training samples, the one or more instructions cause the at least one processor to: initializing the noise vector 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: multiplying the first uniform distribution by a predefined radius to provide a second uniform distribution; and The second uniform distribution is divided by the square root of an 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: limiting the value of the updated noise vector based on a predefined radius to provide a second updated noise vector; and wherein when perturbing each training sample in the plurality of training samples 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 training sample in 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: training a second machine learning model based on the first trained machine learning model using a Product of Experts (POE) procedure; in, When training the second machine learning model using the POE program, the one or more instructions cause the at least one processor to: generating a non-normalized output from the first trained machine learning model based on the plurality of training samples of the training dataset; generating a non-normalized output from the second machine learning model based on the plurality of training samples of the 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; as well as The model weights of the second machine learning model are updated based on the combined non-normalized output to provide the second trained machine learning model.
20. The computer program product of claim 19, wherein: When generating the non-normalized output from the first trained machine learning model based on the plurality of training samples of the training dataset, the one or more instructions cause the at least one processor to: generating an output of the first trained machine learning model using a first logits function based on the plurality of training samples of the training dataset; Wherein, when the non-normalized output is generated from the second machine learning model based on the multiple training samples of the training data set, the one or more instructions cause the at least one instruction to: Generate an output of the second machine learning model using a second logits function based on the multiple training samples of the training data set; 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 the combined non-normalized output, the one or more instructions cause the at least one processor to: combining the output of the first trained machine learning model using the first logits function based on the plurality of training samples of the training data set and the output of the second machine learning model using the second logits function based on the plurality of training samples of the training data set to provide a combined output; and wherein, when updating the model weights of the second machine learning model based on the combined non-normalized output 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
Deep network anti-robustness improvement model, construction method, equipment and medium
CN114358282A
Perturbation learning device and method thereof
JP2018116420A
Adversarial training of machine learning models
US20210142181A1