Training a forward-compatible model

By training learning functions to generate predictive models and adjust sample weights, the method addresses negative flip rates in machine learning models, ensuring compatibility and reducing inaccuracies, thus enhancing model performance and user satisfaction.

JP7626248B2Active Publication Date: 2025-02-04NEC CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023563193
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-07-29
Filing Date
2022-03-07
Publication Date
2025-02-04
Estimated Expiration
2042-03-07

AI Technical Summary

Technical Problem

Machine learning models face issues with negative flip rates (NFR) when updated, leading to inaccuracies in specific situations where the old model was accurate, causing user dissatisfaction.

Method used

A method is employed to train learning functions using current training datasets to generate multiple predictive models, adjust sample weights based on their outputs, and re-train the functions to create a second model, ensuring backward and forward compatibility with the old model.

Benefits of technology

This approach reduces negative flip rates by maintaining model accuracy in situations where the old model was correct and improves future model compatibility, minimizing user frustration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007626248000006
    Figure 0007626248000006
  • Figure 0007626248000007
    Figure 0007626248000007
  • Figure 0007626248000008
    Figure 0007626248000008
Patent Text Reader

Abstract

The forward compatible model is obtained by operations including: training a learning function with a current training dataset including a plurality of samples to generate a first model; generating a plurality of predictive models, each of which is based on a variation of one of the current training dataset or the first model; adjusting a plurality of sample weights based on an output of one or more predictive models of the plurality of predictive models in response to an input of the current training dataset; and retraining the learning function with the current training dataset and the plurality of sample weights to generate a second model.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] This disclosure relates to training forward compatible models. [Background technology]

[0002] Machine learning models are used to make predictions. Such models are updated to improve or maintain performance as available information naturally increases and patterns diverge. When a model is updated, the new model may behave differently from the old model. Even if the new model is more accurate overall, the new model may introduce inaccuracies under certain circumstances where the old model was accurate. The amount of such inaccuracies introduced by the new model is called the Negative Flip Rate (NFR). Summary of the Invention

[0003] According to a first exemplary aspect of the present disclosure, a method is provided for causing a computer to perform operations including: training a learning function with a current training dataset including a plurality of samples to generate a first model; generating a plurality of predictive models, each predictive model of the plurality of predictive models being based on a variation of the current training dataset or one of the first model; adjusting a plurality of sample weights based on an output of one or more predictive models of the plurality of predictive models in response to an input of the current training dataset; and retraining the learning function with the current training dataset and the plurality of sample weights to generate a second model. Program is provided.

[0004] According to a second exemplary aspect of the present disclosure, a method is provided that includes training a learning function with a current training dataset including a plurality of samples to generate a first model; generating a plurality of predictive models, each predictive model of the plurality of predictive models being based on a variation of the current training dataset or one of the first models; adjusting a plurality of sample weights based on an output of one or more predictive models of the plurality of predictive models in response to an input of the current training dataset; and re-training the learning function with the current training dataset and the plurality of sample weights to generate a second model.

[0005] According to a third exemplary aspect of the present disclosure, a method for causing a computer to perform operations including: generating a perturbation vector for varying parameters of a current training data set; detecting a most perturbed sample weight set from the perturbation vector, the most perturbed sample weight set including sample weights corresponding to each sample in the current training data set; adjusting a plurality of sample weights based on the most perturbed sample weight set; and training the learning function using the current training data set and the plurality of sample weights to generate a second model. Program is provided. [Brief description of the drawings]

[0006] Aspects of the present disclosure are best understood from the following detailed description when read in conjunction with the accompanying drawings, in which: It should be noted that, in accordance with standard industry practice, various features have not been drawn to scale, and in fact, dimensions of various features may be arbitrarily expanded or reduced for clarity of illustration. [Figure 1] FIG. 2 is a schematic diagram of data flow for training a forward compatible model in accordance with at least one embodiment of the invention. [Diagram 2] 1 is an operational flow for training a forward compatible model in accordance with at least one embodiment of the present invention. [Diagram 3]1 is an operational flow for initializing sample weights in accordance with at least one embodiment of the present invention. [Figure 4] 1 is an operational flow for generating a predictive model from a predictive dataset in accordance with at least one embodiment of the present invention. [Diagram 5] 13 is another operational flow for generating a predictive model from model variability in accordance with at least one embodiment of the present invention. [Figure 6] 1 is an operational flow for adjusting sample weights in accordance with at least one embodiment of the present invention. [Figure 7] 1 is another operational flow for training a forward-compatible model in accordance with at least one embodiment of the present invention. [Figure 8] FIG. 1 is a block diagram of an exemplary hardware configuration for training a forward-compatible model, in accordance with at least one embodiment of the invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0007] The following disclosure provides many different embodiments or examples for implementing different features of the provided subject matter. Hereinafter, specific examples of components, values, operations, materials, arrangements, etc. will be described to simplify the disclosure. Of course, these are merely examples and are not intended to be limiting. Other components, values, operations, materials, arrangements, etc. are contemplated. In addition, the disclosure may repeat reference numbers and / or letters in various examples. This repetition is for simplicity and clarity and does not in itself dictate a relationship between the various embodiments and / or configurations described.

[0008] If the new model is inaccurate under circumstances where the old model was accurate, users of the model will have to adapt to new shortcomings in the predictions, which will frustrate at least some users. On the other hand, at least some users of the model will welcome the fact that the new model is accurate under circumstances where the old model was inaccurate.

[0009] NFRs in an updated model can be reduced by taking steps during training of the new model to make the new model backwards compatible with the old model. Techniques for making the new model backwards compatible include using sample weights during training to encourage the new model to be correct in response to inputs that produced correct outputs from the old model. By training the new model to be correct when the old model was correct, frustration for at least some users is avoided or reduced.

[0010] In at least some embodiments, measures are taken during training of the old model to make it forward compatible with the new model. In at least some embodiments, forward compatibility training further reduces NFR in future models even if the future models do not undergo backward compatibility training.

[0011] 1 is a schematic diagram of data flow for training a forward compatible model in accordance with at least one embodiment of the present invention. The diagram includes a hypothesis class 100, a learning function 101, a current training dataset 102, a training section 103, a trained model 104, a sample weight adjustment section 105, sample weights 106, hyperparameters 108, and a previous model 109.

[0012] The hypothesis classes 100 are classes or groups of learning functions for a given task. In at least some embodiments, the interpretable hypothesis classes 100 include decision trees and linear classifiers.

[0013] The learning function 101 is one of a plurality of learning functions comprising an interpretable hypothesis class 100. In at least some embodiments, the learning function 101 is a neural network or other type of machine learning algorithm or approximation function. In at least some embodiments, the learning function 101 includes weights having randomly assigned initial values ​​between 0 and 1. In at least some embodiments, the learning function is one of a linear classifier and / or a decision tree.

[0014] The current training dataset 102 is a dataset that includes a number of samples. Each sample has a label that indicates a correct outcome. In other words, when a sample is input to the model, the model must output a correct outcome as indicated by the corresponding label. In at least some embodiments, the current training dataset 102 is prepared and curated to ensure that the current training dataset 102 is representative of real-world distributions.

[0015] The training section 103 is configured to train the learning function 101 based on the current training dataset 102 to generate a trained model 104. In at least some embodiments, the training section 103 is configured to apply the learning function 101 to the current training dataset 102 and adjust the weights of the learning function 101 based on the output of the learning function 101 in response to the input of the current training dataset 102. In at least some embodiments, the training section 103 is configured to adjust the weights of the learning function 101 further based on the sample weights 106. In at least some embodiments, the training section 103 is configured to perform multiple epochs of training to generate a trained model 104 as a linear classification model or a decision tree. In at least some embodiments, the training section 103 is configured to perform training to generate multiple iterations of the trained model 104, each iteration of the trained model 104 being trained with a differently adjusted set of sample weights. In at least some embodiments, the training section 103 is configured to apply the learning function 101 to a predictive training dataset to generate a predictive model 107.

[0016] The sample weight adjustment section 105 is configured to assign sample weights to the training data set 102 based on one or more of the trained model 104, the hyperparameters 108, the prior model 109, and the predictive model 107. In at least some embodiments, the sample weight adjustment section 105 adjusts weights for samples of the training data 102 based on a correct output of one or more of the prior model 109 and the predictive model 107. In at least some embodiments, each sample weight of the plurality of sample weights 106 includes a forward compatibility element and / or a backward compatibility element. In at least some embodiments, each sample weight of the plurality of sample weights is the sum of a forward compatibility element and a backward compatibility element.

[0017] The hyperparameters 108 include values ​​that affect the adjustment of sample weights by the sample weight adjustment section 105 or the training of the learning function 101. In at least some embodiments, the hyperparameters 108 include hyperparameters that affect the relative importance of forward compatibility and backward compatibility during training. In at least some embodiments, one of the forward compatibility and backward compatibility elements of each sample weight of the plurality of sample weights is multiplied by a relative significance factor. In at least some embodiments, the hyperparameters 108 include a learning factor, a number of predictive models, and the like. Various other hyperparameters are described below with respect to specific embodiments, any of which are included in the hyperparameters 108 in at least some embodiments.

[0018] The previous model 109 is trained from the learning function 101 using a previous training dataset. In at least some embodiments, the previous model 109 is applied to the current training dataset 102 by a sample weight adjustment section 105 to determine an appropriate set of sample weights for backward compatibility.

[0019] 2 is an operational flow for training a forward compatible model in accordance with at least one embodiment of the present invention. The operational flow provides a method of training a forward compatible model. In at least some embodiments, the method is performed by a controller of an apparatus that includes sections for performing certain operations, such as the controller and apparatus shown in FIG. 8 described below.

[0020] In S210, the tuning section or a subsection thereof initializes sample weights for the current training data set. In at least some embodiments, the tuning section initializes a sample weight corresponding to each sample in the current training data set. In at least some embodiments, the tuning section initializes the sample weights prior to training the learning function in S220 such that the backward compatibility factors of the sample weights are based on the output of a previous model in response to the input of the current training data set, and the forward compatibility factors of the sample weights are uniform. In at least some embodiments, the initialization of the sample weights proceeds as shown in FIG. 3, described below.

[0021] In S220, the training section or a subsection thereof trains the learning function using a current training data set. In at least some embodiments, the training section trains the learning function using a current training data set to generate the first model, the current training data set including a plurality of samples. In at least some embodiments, the training section trains the learning function by Empirical Risk Minimization (ERM). In at least some embodiments, the training section trains the learning function by minimizing a loss function:

number

number

[0022] In S230, the generation section or a subsection thereof generates a plurality of predictive models. In at least some embodiments, the generation section generates a plurality of predictive models, each of which is based on a variation of one of the current training data set or the first model. In at least some embodiments, the generation section generates a plurality of predictive models from the model trained in S220. In at least some embodiments, the generation section generates a plurality of predictive models from the current training data set.

[0023] At S240, the adjustment section or a subsection thereof adjusts the sample weights of the current training data set. In at least some embodiments, the adjustment section adjusts the sample weights based on the output of one or more predictive models of the plurality of predictive models in response to inputs of the current training data set. In at least some embodiments, the adjustment section adjusts each sample weight based on whether the predictive model is correctly outputting in response to inputs from the current training data set. In at least some embodiments, the adjustment of the sample weights proceeds as shown in FIG. 6, described below.

[0024] In S222, the retraining section retrains the learning function using the sample weights adjusted in S240. In at least some embodiments, the retraining section retrains the learning function using the current training data set and the plurality of sample weights to generate a second model. In at least some embodiments, the retraining section retrains the learning function using the sample weights in the loss function:

number

[0025] In S224, the controller or a section thereof determines whether an exit condition is met. In at least some embodiments, the exit condition is the number of iterations of the operations in S240 and S222. In at least some embodiments, the exit condition is a threshold NFR of the retrained model in the latest iteration of the retraining in S222. If the controller determines that the exit condition is not met, the operational flow returns to the sample weight adjustment in S240 for another iteration. If the controller determines that the exit condition is met, the operational flow ends.

[0026] 3 is an operational flow for initializing sample weights in accordance with at least one embodiment of the present invention. The operational flow provides a method for initializing sample weights. In at least some embodiments, the method is performed by an adjustment section, such as sample weight adjustment section 105 of FIG. 1, or a correspondingly named subsection thereof.

[0027] At S312, the adjustment section or a subsection thereof generates uniform sample weights. In at least some embodiments, the adjustment section generates all sample weights such that all sample weights are 0, 1, or any other value that is uniform for all sample weights.

[0028] In S314, the tuning section or a subsection thereof decides whether to apply backward compatibility. In at least some embodiments, the tuning section decides whether to apply backward compatibility based on whether a previous model exists, since backward compatibility requires an existing model that provides a basis for backward compatibility. If the tuning section decides to apply backward compatibility, in S316, the operational flow proceeds to previous model application. If the tuning section decides not to apply backward compatibility, the operational flow ends, and keeps the sample weights initialized uniformly.

[0029] At S316, the tuning section applies the previous model to the current training data set. In at least some embodiments, the tuning section applies the previous model to each sample in the current training data set and records the output for future reference.

[0030] At S318, the adjustment section adjusts the backward compatibility factors of the sample weights. In at least some embodiments, each sample weight has a backward compatibility factor and a forward compatibility factor. In at least some embodiments, each sample weight is equal to the sum of the backward compatibility factor and the forward compatibility factor. In at least some embodiments, one of the backward compatibility factor and the forward compatibility factor is multiplied by a relative importance factor.

[0031] 4 is an operational flow for generating a predictive model from a predictive dataset, in accordance with at least one embodiment of the present invention. The operational flow provides a method for generating a predictive model from a predictive dataset. In at least some embodiments, the method is performed by a generation section, or a correspondingly named subsection thereof. In at least some embodiments, the generation section is a subsection of an adjustment section, such as the sample weight adjustment section 105 of FIG. 1.

[0032] In S432, the generation section or a subsection thereof generates a predictive dataset. In at least some embodiments, the generation section generates the predictive dataset from a current training dataset. In at least some embodiments, the generation section randomly modifies the current training dataset by oversampling, subsampling, etc. In at least some embodiments, the generation section uses a technique to generate the predictive dataset based on application of a model. In at least some embodiments, the generation section generates the predictive dataset by modifying the training data according to a perturbation vector. In at least some embodiments, as the iterations of S432 progress, the generation section generates multiple predictive training datasets based on variations in the current training dataset.

[0033] In S433, the generation section or a subsection thereof trains a learning function using the prediction data set generated in S433 to generate a prediction model. In at least some embodiments, the generation section has a training section, such as training section 103 of FIG. 1, train the learning function. In at least some embodiments, the generation section trains the learning function by ERM. In at least some embodiments, the generation section trains the learning function substantially similarly to training the learning function in S220 shown in FIG. 2, but using the prediction data set instead of the current training data set. In at least some embodiments, the generation section further trains the learning function using sample weights initialized for backward compatibility by applying a previous model to the prediction data set generated in S433. In at least some embodiments, as the iterations of S433 progress, the generation section trains the learning function using each prediction training data set of the multiple prediction training data sets to generate a corresponding prediction model of the multiple prediction models.

[0034] In S434, the generation section or a subsection thereof determines whether a termination condition is met. In at least some embodiments, the termination condition is the number of iterations of the operations in S432 and S433. If the generation section determines that the termination condition is not met, the operational flow returns to the predicted dataset generation in S432 for another iteration. If the generation section determines that the termination condition is met, the operational flow ends.

[0035] 5 is another operational flow for generating a predictive model from model variations, in accordance with at least one embodiment of the present invention. The operational flow provides a method for generating a predictive model from model variations. In at least some embodiments, the method is performed by a generation section, or a correspondingly named subsection thereof. In at least some embodiments, the generation section is a subsection of an adjustment section, such as the sample weight adjustment section 105 of FIG. 1.

[0036] In S536, the generation section or a subsection thereof extracts parameters from the model trained using the current training data set. In at least some embodiments, the generation section extracts parameters from the model trained in S220 shown in FIG. 2. In at least some embodiments, the generation section extracts parameters θ from the trained model by minimizing the loss function of Equation 1.

[0037] In S537, the generation section or a subsection thereof generates a random vector for varying a parameter of the model. In at least some embodiments, the generation section generates a random vector for varying a parameter of the first model. In at least some embodiments, the generation section generates a random vector ε. As the iterations of S537 proceed, the generation section generates multiple random vectors.

[0038] In S538, the generation section or a subsection thereof varies parameters of the model based on the vector generated in S537. In at least some embodiments, the generation section varies parameters of the first model based on the random vector to generate a plurality of predictive models. In at least some embodiments, the generation section varies parameters θ based on the random vector ε. In at least some embodiments, the generation section adds the random vector ε to parameters θ to generate a perturbation model θ. ε As the iterations of S538 progress, the generation section generates a plurality of predictive models, each predictive model of the plurality of predictive models corresponding to a unique variation of the parameters of the first model.

[0039] In S539, the generation section or a subsection thereof determines whether an end condition is met. In at least some embodiments, the end condition is the number of iterations of the operations in S537 and S538. If the generation section determines that the end condition is not met, the operational flow returns to the random vector generation in S537 for another iteration. If the generation section determines that the end condition is met, the operational flow ends.

[0040] 6 is an operational flow for adjusting sample weights in accordance with at least one embodiment of the present invention. The operational flow provides a method for adjusting sample weights. In at least some embodiments, the method is performed by an adjustment section, such as sample weight adjustment section 105 of FIG. 1.

[0041] In S642, the tuning section or a subsection thereof identifies one or more incompatible models of the plurality of predictive models. In at least some embodiments, the tuning section identifies one or more least compatible models of the models generated in S230 shown in FIG. 2. In at least some embodiments, the tuning section identifies an NFR for each predictive model in comparison to a model trained with a current training dataset. In at least some embodiments, the tuning section compares an output of the first model in response to an input of the current training dataset to an output of each predictive model of the plurality of predictive models. In at least some embodiments, the tuning section compares an output of the predictive model in response to an input of a sample of the current training dataset to a model trained in S220 shown in FIG. 2. In at least some embodiments, negative flips are tallied if the predictive model has a correct output and the model trained in S220 has an incorrect output. According to at least some embodiments, once all negative flips are tallied for each predictive model, the predictive model associated with more negative flips is identified by the tuning section as more incompatible. In at least some embodiments, the one or more predictive models identified among the plurality of predictive models have the highest negative flip rate relative to the first model. In at least some embodiments, the tuning section identifies the most incompatible models according to the following brute force function:

number

[0042] In S644, the tuning section, or a subsection thereof, selects the next sample in the current training data set. The tuning section selects the first sample in the first iteration of S644. As the iterations of S644 progress, all samples in the current training data set are selected for processing.

[0043] In S646, the tuning section or a subsection thereof determines a proportion of incompatible models that have a correct output for the sample selected in S644. In at least some embodiments, the tuning section determines the number of predictive models from among the one or more predictive models that have a correct output in response to the input of the corresponding sample in the training dataset. In at least some embodiments, the tuning section determines which incompatible models have a correct output and then divides that number by the total number of incompatible models determined in S642. In at least some embodiments where only one incompatible model is determined in S642, the proportion determined by the tuning section is either 1 in response to the incompatible model being correct, or 0 in response to the incompatible model being incorrect.

[0044] At S648, the adjustment section, or a subsection thereof, adjusts the forward compatibility factors of the sample weights corresponding to the samples selected at S644 based on the proportions determined at S646. In at least some embodiments, the adjustment section sets the forward compatibility factors of multiple sample weights. In at least some embodiments, the adjustment section sets the sample weights in proportion to the number of predictive models. In at least some embodiments, the adjustment section further manipulates the proportions determined at S646 when adjusting the sample weights, such as by transposing or widening.

[0045] In S649, the tuning section or a subsection thereof determines whether all samples in the current training data set have been processed. If the tuning section determines that unprocessed samples remain, the operational flow returns to the next sample selection in S644 for another iteration. If the tuning section determines that all samples have been processed, the operational flow ends.

[0046] 7 is another operational flow for training a forward compatible model in accordance with at least one embodiment of the present invention. The operational flow provides another method of training a forward compatible model. In at least some embodiments, the method is performed by a controller of an apparatus that includes sections for performing certain operations, such as the controller and apparatus shown in FIG. 8 described below.

[0047] At S710, the tuning section or a subsection thereof initializes sample weights for the current training data set. In at least some embodiments, the tuning section initializes sample weights corresponding to each sample in the current training data set. In at least some embodiments, the initialization of the sample weights proceeds as shown in FIG.

[0048] At S750, the generation section or a subsection thereof generates a perturbation vector for the current training data set. In at least some embodiments, the generation section derives the perturbation vector from multiple sample weight sets, such as the sample weight sets from multiple iterations of the sample weight adjustment at S240 shown in FIG.

[0049] In S752, the tuning section or a subsection thereof finds the most perturbed set of sample weights from the perturbation vector generated in S750. In at least some embodiments, the tuning section finds the most perturbed set of sample weights using the perturbation vector by applying a model trained using the current training data set to the current training data set, similar to the learning function training in S220 shown in FIG.

[0050] At S754, the tuning section or a subsection thereof sets the forward compatibility factor of each sample weight in proportion to the corresponding perturbed sample weight from the most perturbed sample weight set. In at least some embodiments, the tuning section further manipulates each sample weight, such as by transposing or widening.

[0051] At S756, the training section, or a subsection thereof, trains the learning function using the current training data set with the sample weights adjusted at S754. In at least some embodiments, the training section trains the learning function using the sample weights in the loss function:

number

[0052] FIG. 8 is a block diagram of an example hardware configuration for training a forward-compatible model in accordance with at least one embodiment of the invention.

[0053] An exemplary hardware configuration includes a device 860 that communicates with a network 869 and interacts with an input device 867. The device 860 may be a computer or other computing device that receives input or commands from the input device 867. The device 860 may be a host server that connects directly to the input device 867 or indirectly through the network 869. In some embodiments, the device 860 is a computer system that includes two or more computers. In some embodiments, the device 860 is a personal computer that runs applications for a user of the device 860.

[0054] The device 860 includes a controller 862, a storage unit 864, a communication interface 868, and an input / output interface 866. In some embodiments, the controller 862 includes a processor or programmable circuit that executes instructions, which cause the processor or programmable circuit to perform operations according to the instructions. In some embodiments, the controller 862 includes analog or digital programmable circuits, or any combination thereof. In some embodiments, the controller 862 includes physically separate storage devices or circuits that interact through communication. In some embodiments, the storage unit 864 includes a non-volatile computer readable medium capable of storing executable and non-executable data for the controller 862 to access during execution of instructions. The communication interface 868 transmits and receives data to and from a network 869. The input / output interface 866 connects to various input / output units via parallel ports, serial ports, keyboard ports, mouse ports, monitor ports, etc., to accept commands and present information.

[0055] The controller 862 includes a training section 872, which includes a retraining section 874, a generation section 876, and an adjustment section 875. The storage unit 864 includes a training data set 882, general parameters 884, model parameters 886, and sample weights 888.

[0056] Training section 872 is circuitry or instructions of controller 862 configured to train the learning function. In at least some embodiments, training section 872 is configured to train a learning function, such as learning function 101 of FIG. 1, and generate a model, such as trained model 104 and predictive model 107 of FIG. 1. In at least some embodiments, training section 872 utilizes information in storage unit 864, such as training dataset 882, loss function and hyperparameters contained in general parameters 884, learning function and trained model contained in model parameters 886, and sample weights 888. In at least some embodiments, training section 872 includes subsections for performing additional functions, as described in the preceding flow charts. In at least some embodiments, such subsections may be referenced by names associated with their functions, such as retrain section 873.

[0057] The retrain section 874 is circuitry or instructions of the controller 862 configured to retrain the learning function based on the sample weights. In at least some embodiments, the retrain section 874 is configured to retrain the learning function, such as the learning function 101 of FIG. 1, and generate a trained model, such as the trained model 104 of FIG. 1. In at least some embodiments, the retrain section 874 utilizes information in the storage unit 864, such as the training data 882, the loss function and hyperparameters contained in the general parameters 884, the learning function and trained model contained in the model parameters 886, and the sample weights 888. In at least some embodiments, the retrain section 874 includes subsections for performing additional functions, as described in the flow charts above. In at least some embodiments, such subsections may be referenced by names associated with their functions.

[0058] The generation section 876 is circuitry or instructions of the controller 862 configured to generate a predictive model. In at least some embodiments, the generation section 876 is configured to generate a predictive model from a predictive dataset, such as in FIG. 4, from model parameter variations, such as in FIG. 5, etc. In at least some embodiments, the generation section 876 utilizes information in the storage unit 864, such as hyperparameters included in general parameters 884, trained models included in model parameters 886, and sample weights 888. In at least some embodiments, the generation section 876 includes subsections for performing additional functions, as described in the preceding flow charts. In at least some embodiments, such subsections may be referenced by names associated with their functions.

[0059] Adjustment section 878 is circuitry or instructions of controller 862 configured to adjust sample weights. In at least some embodiments, adjustment section 878 is configured to adjust sample weights to training data set 882 based on the trained model and one or more predictive models included in model parameters 886 and hyperparameters included in general parameters 884. In at least some embodiments, adjustment section 878 records values ​​in sample weights 888. In at least some embodiments, adjustment section 878 includes subsections for performing additional functions, as described in the preceding flow charts. In at least some embodiments, such subsections are referenced by names associated with the corresponding functions.

[0060] In at least some embodiments, the apparatus is a separate device capable of processing logical functions to perform the operations herein. In at least some embodiments, the controller and the storage unit need not be completely separate devices, and in some embodiments share circuitry or one or more computer-readable media. In at least some embodiments, the storage unit includes a hard drive that stores both computer-executable instructions and data accessed by the controller, and the controller includes a combination of a central processing unit (CPU) and RAM, and the computer-executable instructions can be copied in whole or in part for execution by the CPU during performance of the operations herein.

[0061] In at least some embodiments where the apparatus is a computer, a program installed on the computer can cause the computer to function as an apparatus of the embodiments described herein or to perform operations associated with the apparatus, and in at least some embodiments, such a program can be executed by a processor to cause the computer to perform specific operations associated with some or all of the blocks of the flowcharts and block diagrams described herein.

[0062] Various embodiments of the invention are described with reference to flow charts and block diagrams, where the blocks may represent (1) steps of a process in which an operation is performed, or (2) sections of a controller responsible for performing an operation. Particular steps and sections are performed by dedicated circuitry, programmable circuitry provided with computer readable instructions stored on a computer readable medium, and / or a processor provided with computer readable instructions stored on a computer readable medium. In some embodiments, the dedicated circuitry includes digital and / or analog hardware circuitry, and may include integrated circuits (ICs) and / or discrete circuits. In some embodiments, the programmable circuitry includes reconfigurable hardware circuitry comprising logical AND, OR, XOR, NAND, NOR, and other logic operations, flip-flops, registers, memory elements, etc., e.g., field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), etc.

[0063] Various embodiments of the invention include systems, methods, and / or computer program products. In some embodiments, the computer program product includes a computer-readable storage medium(s) having computer-readable program instructions for causing a processor to perform aspects of the invention.

[0064] In some embodiments, the computer-readable storage medium includes a tangible device that can hold and store instructions for use by an instruction execution device. In some embodiments, the computer-readable storage medium includes, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the above. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer diskettes, hard disks, random access memories (RAMs), read-only memories (ROMs), erasable programmable read-only memories (EPROMs or flash memories), static random access memories (SRAMs), portable compact disk read-only memories (CD-ROMs), digital versatile disks (DVDs), memory sticks, floppy disks, punch cards or mechanically encoded devices such as raised structures in grooves with instructions recorded thereon, and any suitable combination of the above. As used herein, a computer-readable storage medium should not be construed as being a transitory signal per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted through wires.

[0065] In some embodiments, the computer-readable program instructions described herein are downloadable from a computer-readable storage medium to the respective computing / processing device or to an external computer or storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. In some embodiments, the network can include copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing / processing device.

[0066] In some embodiments, the computer readable program instructions for performing the operations described above are either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including object oriented programming languages ​​such as Smalltalk, C++, and traditional procedural programming languages ​​such as the "C" programming language or similar programming languages. In some embodiments, the computer readable program instructions execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In some embodiments, in the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or wide area network (WAN), or connected to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuits, field programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), executes computer readable program instructions to individualize the electronic circuitry by utilizing state information of the computer readable program instructions to implement aspects of the present invention.

[0067] Although the embodiments of the present invention have been described above, the technical scope described in the claims is not limited to the above-mentioned embodiments. It will be apparent to those skilled in the art that various modifications and improvements can be made to the above-mentioned embodiments. It is also apparent from the claims that the embodiments with such modifications or improvements are included in the technical scope of the present invention.

[0068] The operations, procedures, steps, and process stages performed by the apparatus, systems, programs, and methods shown in the claims, embodiments, or figures may be performed in any order unless the order is indicated by "before," "prior to," or the like, and unless output from a previous process is used in a later process. Even if a process flow is described in the claims, embodiments, or figures using phrases such as "first" or "next," this does not necessarily mean that the processes must be performed in that order.

[0069] In accordance with at least one embodiment of the present invention, the forward compatible model is obtained by operations including: training a learning function with a current training dataset to generate a first model, the current training dataset including a plurality of samples; generating a plurality of predictive models, each predictive model based on a variation of one of the current training dataset or the first model; adjusting a plurality of sample weights based on an output of one or more predictive models of the plurality of predictive models in response to an input of the current training dataset; and retraining the learning function with the current training dataset and the plurality of sample weights to generate a second model.

[0070] Some embodiments include instructions in a computer program, a method implemented by a processor executing the instructions of the computer program, and an apparatus for implementing the method. In some embodiments, the apparatus includes a controller including circuitry configured to perform operations in the instructions.

[0071] The above outlines the features of some embodiments so that those skilled in the art can better understand the aspects of the present disclosure. Those skilled in the art should understand that the present disclosure can be easily used as a basis for designing or modifying other processes and structures for carrying out the same purpose and / or achieving the same advantages as the embodiments introduced herein. Those skilled in the art should also recognize that such equivalent constructions do not depart from the spirit and scope of the present disclosure, and that various changes, substitutions, and alterations can be made herein without departing from the spirit and scope of the present disclosure.

[0072] Some or all of the above exemplary embodiments can be described as follows, but are not limited to the following:

[0073] (Appendix 1) training a learning function using a current training data set including a plurality of samples to generate a first model; generating a plurality of predictive models, each predictive model of the plurality of predictive models being based on a variation of one of the current training data set or the first model; adjusting a plurality of sample weights based on an output of one or more predictive models of the plurality of predictive models in response to input of the current training data set; retraining the learning function using the current training data set and the plurality of sample weights to generate a second model; A computer-readable medium comprising instructions executable by a computer to cause the computer to perform operations including:

[0074] (Appendix 2) Generating the plurality of predictive models comprises: generating a plurality of predicted training data sets based on the variation of the current training data set; training the learning function with each predictive training data set of the plurality of predictive training data sets to generate a corresponding predictive model of the plurality of predictive models; 2. The computer-readable medium of claim 1,

[0075] (Appendix 3) Generating the plurality of predictive models comprises: generating random vectors for varying parameters of the first model; Varying the parameters of the first model based on the random vector to generate the plurality of predictive models; Including, each predictive model of the plurality of predictive models corresponds to a unique variation of the parameters of the first model; 2. The computer-readable medium of claim 1.

[0076] (Appendix 4) Adjusting the plurality of sample weights includes: comparing an output of the first model to an output of each predictive model of the plurality of predictive models in response to input of the current training data set. Including, the one or more predictive models of the plurality of predictive models have a highest negative flip rate relative to the first model. 2. The computer-readable medium of claim 1.

[0077] (Appendix 5) Adjusting the plurality of sample weights includes, for each sample weight of the plurality of sample weights: determining a number of the one or more predictive models having correct outputs in response to inputs of corresponding samples in the current training data set; setting the sample weights in proportion to the number of the prediction models; 5. The computer-readable medium of claim 4, further comprising:

[0078] (Appendix 6) adjusting the sample weights and retraining the learning function are performed over multiple iterations; adjusting the plurality of sample weights in each subsequent iteration includes comparing an output of the second model retrained in a previous iteration to an output of each predictive model of the plurality of predictive models in response to input of the current training data set. 6. The computer-readable medium of claim 5.

[0079] (Appendix 7) 2. The computer-readable medium of claim 1, wherein each sample weight of the plurality of sample weights includes a forward compatible element and a backward compatible element.

[0080] (Appendix 8) applying a previous model to the current training data set; Prior to training the learning function, the backward compatibility component of the plurality of sample weights is based on an output of the previous model in response to an input of the current training data set; and The forward compatibility factors of the plurality of sample weights are uniform. and initializing the plurality of sample weights so that Further comprising: training the learning function further comprises using the plurality of sample weights; adjusting the plurality of sample weights includes setting the forward compatibility factor of the plurality of sample weights. 8. The computer-readable medium of claim 7.

[0081] (Appendix 9) The setting of the forward compatibility factor of the plurality of sample weights may include: comparing an output of the first model to an output of each predictive model of the plurality of predictive models in response to input of the current training data set. Further comprising: the one or more predictive models of the plurality of predictive models have a highest negative flip rate relative to the first model. 9. The computer-readable medium of claim 8.

[0082] (Appendix 10) Configuring the forward compatibility factor of the plurality of sample weights comprises, for each sample weight of the plurality of sample weights: determining a number of the one or more predictive models having correct outputs in response to inputs of corresponding samples in the training data set; setting the forward compatibility factor in proportion to the number of the prediction models; 10. The computer-readable medium of claim 9, further comprising:

[0083] (Appendix 11) each sample weight of the plurality of sample weights comprises a sum of the forward compatibility factor and the backward compatibility factor; one of the forward compatibility factor or the backward compatibility factor of each sample weight of the plurality of sample weights is multiplied by a relative importance factor; 8. The computer-readable medium of claim 7.

[0084] (Appendix 12) 2. The computer-readable medium of claim 1, wherein the learning function comprises one of a linear classifier or a decision tree.

[0085] (Appendix 13) training a learning function using a current training data set including a plurality of samples to generate a first model; generating a plurality of predictive models, each predictive model of the plurality of predictive models being based on a variation of one of the current training data set or the first model; adjusting a plurality of sample weights based on an output of one or more predictive models of the plurality of predictive models in response to input of the current training data set; retraining the learning function using the current training data set and the plurality of sample weights to generate a second model; A method comprising:

[0086] (Appendix 14) Generating the plurality of predictive models comprises: generating a plurality of predicted training data sets based on the variation of the current training data set; training the learning function with each predictive training data set of the plurality of predictive training data sets to generate a corresponding predictive model of the plurality of predictive models; 14. The method of claim 13, comprising:

[0087] (Appendix 15) Generating the plurality of predictive models comprises: generating random vectors for varying parameters of the first model; Varying the parameters of the first model based on the random vector to generate the plurality of predictive models; Including, each predictive model of the plurality of predictive models corresponds to a unique variation of the parameters of the first model; 14. The method according to claim 13.

[0088] (Appendix 16) Adjusting the plurality of sample weights includes: comparing an output of the first model to an output of each predictive model of the plurality of predictive models in response to input of the current training data set. Including, the one or more predictive models of the plurality of predictive models have a highest negative flip rate relative to the first model. 14. The method according to claim 13.

[0089] (Appendix 17) Adjusting the plurality of sample weights includes, for each sample weight of the plurality of sample weights: determining a number of the one or more predictive models having correct outputs in response to inputs of corresponding samples in the current training data set; setting the sample weights in proportion to the number of the prediction models; 17. The method of claim 16, further comprising:

[0090] (Appendix 18) adjusting the sample weights and retraining the learning function are performed over multiple iterations; adjusting the plurality of sample weights in each subsequent iteration includes comparing an output of the second model retrained in a previous iteration to an output of each predictive model of the plurality of predictive models in response to input of the current training data set. 18. The method according to claim 17.

[0091] (Appendix 19) 14. The method of claim 13, wherein each sample weight of the plurality of sample weights includes a forward compatible element and a backward compatible element.

[0092] (Appendix 20) generating a perturbation vector for varying parameters of the current training data set; finding a most perturbed set of sample weights from the perturbation vector that includes sample weights corresponding to each sample in the current training data set; adjusting a plurality of sample weights based on the most perturbed set of sample weights; training the learning function using the current training data set and the plurality of sample weights to generate a second model; A computer-readable medium comprising instructions executable by a computer to cause the computer to perform operations including:

[0093] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 177,355, filed April 20, 2021, which is incorporated by reference in its entirety. Additionally, this application claims the benefit of U.S. Provisional Patent Application No. 17 / 389,237, filed July 29, 2021, which is incorporated by reference in its entirety.

Claims

1. training a learning function using a current training data set comprising a plurality of samples to generate a first model; generating a plurality of predictive models, each predictive model of the plurality of predictive models being based on a variation of one of the current training data set or the first model; adjusting a plurality of sample weights based on an output of one or more predictive models of the plurality of predictive models in response to input of the current training data set; retraining the learning function using the current training data set and the plurality of sample weights to generate a second model; A program for causing a computer to carry out an operation including the steps of: Adjusting the plurality of sample weights includes: comparing an output of the first model to an output of each predictive model of the plurality of predictive models in response to input of the current training data set. Including, the one or more predictive models of the plurality of predictive models have a highest negative flip rate relative to the first model; Adjusting the plurality of sample weights includes, for each sample weight of the plurality of sample weights: determining a number of the one or more predictive models having correct outputs in response to inputs of corresponding samples in the current training data set; setting the sample weights in proportion to the number of the prediction models; The program further includes:

2. Generating the plurality of predictive models comprises: generating a plurality of predicted training data sets based on the variation of the current training data set; training the learning function with each predictive training data set of the plurality of predictive training data sets to generate a corresponding predictive model of the plurality of predictive models; The program according to claim 1 .

3. Generating the plurality of predictive models comprises: generating random vectors for varying parameters of the first model; Varying the parameters of the first model based on the random vector to generate the plurality of predictive models; Including, each predictive model of the plurality of predictive models corresponds to a unique variation of the parameters of the first model; The program according to claim 1.

4. adjusting the sample weights and retraining the learning function are performed over multiple iterations; adjusting the plurality of sample weights in each subsequent iteration includes comparing an output of the second model retrained in a previous iteration with an output of each predictive model of the plurality of predictive models in response to input of the current training data set. The program according to claim 1.

5. The computer-implemented program product of claim 1 , wherein each sample weight in the plurality of sample weights includes a forward compatible element and a backward compatible element.

6. applying a previous model to the current training data set; Prior to training the learning function, the backward compatibility component of the plurality of sample weights is based on an output of the previous model in response to an input of the current training data set; and The forward compatibility factors of the plurality of sample weights are uniform. and initializing the plurality of sample weights so that Further comprising: training the learning function further comprises using the plurality of sample weights; adjusting the plurality of sample weights includes setting the forward compatibility factor of the plurality of sample weights. The program according to claim 5.

7. A computer comprising: training a learning function using a current training data set comprising a plurality of samples to generate a first model; generating a plurality of predictive models, each predictive model of the plurality of predictive models being based on a variation of one of the current training data set or the first model; adjusting a plurality of sample weights based on an output of one or more predictive models of the plurality of predictive models in response to input of the current training data set; retraining the learning function using the current training data set and the plurality of sample weights to generate a second model; A method comprising: Adjusting the plurality of sample weights includes: comparing an output of the first model to an output of each predictive model of the plurality of predictive models in response to input of the current training data set. Including, the one or more predictive models of the plurality of predictive models have a highest negative flip rate relative to the first model; Adjusting the plurality of sample weights includes, for each sample weight of the plurality of sample weights: determining a number of the one or more predictive models having correct outputs in response to inputs of corresponding samples in the current training data set; setting the sample weights in proportion to the number of the prediction models; The method further comprising:

Citation Information

Patent Citations

  • Relearning method for support vector machine and device

    JP2012014270A

  • Assessing accuracy of trained predictive models

    US20130346351A1

  • Training adaptable neural networks based on evolvability search

    US20200151576A1