Training data generation program, training data generation method, and information processing device
By using particle swarm optimization to select training data based on loss function magnitude, the method addresses the challenge of model degradation during retraining, ensuring stable and accurate machine learning model updates.
Patent Information
- Application Number
- JP2022096500
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-06-15
- Publication Date
- 2026-03-04
- Estimated Expiration
- 2042-06-15
AI Technical Summary
Retraining machine learning models can lead to degradation due to the inclusion of successful data, while using only data with large losses can cause significant degradation, making it challenging to balance computational costs and model stability.
A method that selects training data using particle swarm optimization, sampling successful data based on loss function magnitude to generate training data that includes both successful and unsuccessful data, adjusting weights to minimize degradation.
This approach generates training data that reduces the likelihood of model degradation during retraining, maintaining model accuracy and stability.
Smart Images

Figure 0007823508000003 
Figure 0007823508000004 
Figure 0007823508000005
Abstract
Description
[Technical Field]
[0001] The present invention relates to a training data generation program, a training data generation method, and an information processing device. [Background technology]
[0002] In a system using a machine learning model such as a neural network (NN), if an output that is not desirable for a user occurs, the machine learning model may be corrected.
[0003] For example, in an autonomous driving system using a camera, if a stop sign is recognized as a speed limit, there is a risk of an accident, so the machine learning model needs to be corrected to ensure correct recognition.
[0004] Machine learning models are not created according to specifications, but according to the training data that is input, so modifications are also made by inputting the training data.
[0005] However, in such conventional methods for correcting machine learning models using training data, it is necessary to collect the data necessary for correction, but the collected data does not necessarily allow errors to be corrected.
[0006] In other words, retraining can lead to incorrect inferences after retraining for data that was correctly inferred before retraining, which can cause degradation. Therefore, it is desirable to suppress the occurrence of degradation when retraining a machine learning model. [Prior art documents] [Patent documents]
[0007] [Patent Document 1] International Publication No. 2021 / 064787 [Patent Document 2] Japanese Patent Application Publication No. 2019-174870 [Patent Document 3] U.S. Patent Application Publication No. 2021 / 0073627 [Patent Document 4] US Patent Application Publication No. 2020 / 0160207 Summary of the Invention [Problem to be solved by the invention]
[0008] When retraining a machine learning model, successful data is included in the training data to reduce degradation, but including all successful data increases computational costs. Data with large losses is more likely to cause degradation, so it is desirable to select only those with large losses. However, using only data with large losses can cause significant degradation.
[0009] In one aspect, the present invention aims to generate training data that is less likely to degrade when retraining a machine learning model. [Means for solving the problem]
[0010] Therefore, this training data generation program causes a computer to execute the following process: acquire a first plurality of data that, when input, causes the machine learning model to output the correct answer and a second plurality of data that, when input, causes the machine learning model to output the incorrect answer; select a third plurality of data from the first plurality of data based on a probability corresponding to the magnitude of the value of the loss function when the output of the machine learning model for each of the first plurality of data is input; and generate training data including the second plurality of data and the third plurality of data. [Effects of the Invention]
[0011] According to one embodiment, training data that is less likely to degrade when retraining a machine learning model can be generated. [Brief explanation of the drawings]
[0012] [Figure 1]FIG. 1 is a diagram illustrating a functional configuration of an information processing apparatus according to an embodiment. [Figure 2] 10A and 10B are diagrams for explaining a patch generation method using particle swarm optimization by a training processing unit in an information processing device as an example of an embodiment. [Figure 3] FIG. 2 is a diagram illustrating a process performed by a sampling processing unit of an information processing apparatus according to an embodiment. [Figure 4] 10A and 10B are diagrams illustrating a method for calculating a fitness value by a fitness calculation unit in an information processing apparatus as an example of an embodiment; [Figure 5] 10 is a flowchart illustrating processing by a sampling processing unit in an information processing apparatus as an example of an embodiment. [Figure 6] 10 is a flowchart illustrating a process performed by an optimization processing unit in an information processing apparatus according to an example of an embodiment. [Figure 7] FIG. 10 is a diagram illustrating a specific example of processing by an optimization processing unit in the information processing device as one example of an embodiment. [Figure 8] 10A and 10B are diagrams showing a comparison between a case where a machine learning model is corrected by a training processing unit of an information processing device as an example of an embodiment and a case where a machine learning model is corrected by a conventional method. [Figure 9] FIG. 1 is a diagram illustrating a hardware configuration of an information processing apparatus according to an embodiment; DETAILED DESCRIPTION OF THE INVENTION
[0013] Hereinafter, embodiments of the present training data generation program, training data generation method, and information processing device will be described with reference to the drawings. However, the embodiments shown below are merely examples, and are not intended to exclude the application of various modifications and techniques not explicitly stated in the embodiments. In other words, the present embodiment can be implemented with various modifications (such as combining the embodiment and each modification) within the scope of its intent. Furthermore, each figure does not intend to include only the components shown in the figure, but can also include other functions, etc.
[0014] (A) Configuration FIG. 1 is a diagram illustrating a functional configuration of an information processing device 1 as an example of an embodiment.
[0015] The information processing device 1 realizes a model correction function for correcting a trained neural network model (machine learning model). The information processing device 1 has a function as a training processing unit 100, as shown in FIG.
[0016] The training processing unit 100 performs retraining (machine learning) of a trained machine learning model (trained model). The training processing unit 100 has a function of generating training data, and uses the generated training data to train the machine learning model.
[0017] In addition, the training processing unit 100 identifies defective parts in the trained model and identifies the weights to be corrected, then generates patches for the weights to be corrected and applies them to the trained model to generate a corrected trained model.
[0018] The machine learning model may be, for example, a classifier for classifying input data into multiple classes. The machine learning model may be, for example, a deep learning model (deep neural network). The neural network may be a hardware circuit, or may be a virtual network using software that connects layers virtually constructed on a computer program by the processor 11 (see FIG. 9 ).
[0019] It should be noted that the identification of defect locations in a trained model can be achieved using known methods, and the description thereof will be omitted.
[0020] The training processing unit 100 may generate patches by searching for weight values that reduce failures using metaheuristics, for example. The training processing unit 100 sets weights to be modified in the neural network model using particle swarm optimization (PSO) to retrain the machine learning model.
[0021] FIG. 2 is a diagram for explaining a patch generation method using particle swarm optimization by the training processing unit 100 in the information processing device 1 as an example of an embodiment.
[0022] In patch generation using particle swarm optimization, multiple weights (n in the example shown in Figure 2) w1 to w n As shown in Figure 2, there are k particles x1 to x2 with vectors k These multiple particles x1~x k corresponds to the particle group.
[0023] The training processing unit 100 inputs the failure data to be corrected and the success data sampled from multiple success data into a machine learning model in which the weights of each particle are replaced using the particle values (weights, parameters), and calculates a fitness value based on the results. The fitness value corresponds to an evaluation value for evaluating each particle.
[0024] The training processing unit 100 identifies the particle with the highest fitness value (global best) and updates the values (parameter values) of each of the other particles (second particles) so that they approach the value (parameter value) of the global best particle (first particle).
[0025] The training processing unit 100 repeats this process until a termination condition is met, and reflects the final global best particle value as the weight of the machine learning model. The termination condition is when the number of repetitions reaches a predetermined number or when the global best particle remains unchanged for a certain number of times.
[0026] As shown in FIG. 1, the training processing unit 100 includes a sampling processing unit 101 and an optimization processing unit 105 .
[0027] When the training processing unit 100 generates patches using particle swarm optimization, the sampling processing unit 101 samples successful data to be used for particle swarm optimization from among a plurality of successful data.
[0028] Specifically, the sampling processing unit 101 performs roulette selection according to the magnitude of the loss (value of the loss function) calculated based on the predicted value obtained by inputting the successful data into the machine learning model and the correct value for the successful data. That is, the sampling processing unit 101 performs random selection such that the larger the loss (successful data), the higher the probability of selection. Sampling of successful data can also be called successful data sampling.
[0029] As shown in FIG. 1, the sampling processing unit 101 includes a loss calculation unit 102, a probability distribution conversion unit 103, and a successful data sampling unit 104.
[0030] The loss calculation unit 102 calculates the value of the loss function L based on the predicted value obtained by inputting the successful data into the machine learning model and the correct value in the successful data. Hereinafter, the value of the loss function L may be simply referred to as the loss.
[0031] The loss calculation unit 102 stores the calculated loss in a predetermined storage area such as the storage device 13 (see FIG. 9).
[0032] The probability distribution conversion unit 103 converts the value of the loss function L of each successful data calculated by the loss calculation unit 102 into the probability that each successful data will be selected, thereby generating a distribution (probability distribution) of the probability that each successful data will be selected for multiple successful data.
[0033] Data i The loss function L is calculated as L(s i), the probability distribution conversion unit 103 calculates the probability of each successful data s i The probability that p(s i ) is calculated.
[0034]
number
[0035] The probability distribution conversion unit 103 converts the interval from 0 to 1.000 into the probability p(s i ) to create a probability distribution among multiple successful data. The probability distribution created in this way can be called a successful data selection probability distribution.
[0036] The successful data selection probability distribution represents the probability according to the magnitude of the value of the loss function L when the output of the machine learning model for each of a plurality of successful data (first plurality of data) is input.
[0037] In the successful data selection probability distribution, the larger the loss value, the higher the probability of selection. The probability distribution conversion unit 103 converts the probability p(s i ) may be calculated.
[0038] The probability distribution conversion unit 103 may set the probability distribution between a plurality of pieces of successful data within a numerical range of 0 to 1, for example.
[0039] The probability distribution conversion unit 103 converts the calculated probability p(s i ) and information on the successful data selection probability distribution, etc. are stored in a predetermined storage area of the storage device 13, etc.
[0040] The successful data sampling unit 104 selects successful data to be used in the particle swarm optimization method from among the plurality of successful data based on the successful data selection probability distribution generated by the probability distribution conversion unit 103. Hereinafter, the successful data to be used in the particle swarm optimization method selected from the plurality of successful data may be referred to as a successful data sample.
[0041] The successful data sampling unit 104 generates a random number according to the successful data selection probability distribution set by the probability distribution conversion unit 103, and determines the successful data sample with the probability corresponding to the value of this random number. This method of selecting successful data samples can be called roulette selection.
[0042] For example, if the successful data selection probability distribution is set within a numerical range of 0 to 1, the successful data sampling unit 104 prepares random numbers within the numerical range of 0 to 1, and determines, as a successful data sample, successful data that corresponds to the probability range corresponding to the value of this random number in the successful data selection probability distribution. The successful data sampling unit 104 may prepare the successful data by generating random numbers, or may prepare the successful data by acquiring random numbers generated by a random number generation unit (not shown).
[0043] The successful data sampling unit 104 selects a successful data sample from multiple successful data samples by roulette wheel selection. In this way, by providing a certain degree of randomness and selecting successful data close to the value of the loss function L, it is possible to search with a gradual trade-off between correction and degradation.
[0044] The successful data sample corresponds to a third plurality of data selected from the plurality of successful data (first plurality of data) based on the successful data selection probability distribution.
[0045] FIG. 3 is a diagram for explaining processing by the sampling processing unit 101 of the information processing device 1 as an example of an embodiment.
[0046] In this Figure 3, an example is shown in which one dataset is selected from four datasets (successful data). Each dataset includes image data and a label (see symbol P1). In the example shown in Figure 3, the image data is a traffic sign, and one of the following labels is set: "17. No entry," "14. Stop," "3. Speed limit (60 km / h)," and "34. Turn left ahead."
[0047] The loss calculation unit 102 inputs each of these data sets (successful data) into a machine learning model that reflects the global best weights, and calculates the respective losses (see symbol P2).
[0048] The probability distribution conversion unit 103 calculates the probability p(s) of selecting each data set (successful data) based on the above formula (1). i ) is calculated (see symbol P3).
[0049] The probability distribution conversion unit 103 converts the interval from 0 to 1.000 into the probability p(s i ) to create a successful data selection probability distribution (see symbol P4).
[0050] In the successful data selection probability distribution shown by symbol P4 in Figure 3, the interval from 0.000 to 0.159 corresponds to successful data for the image "17. No entry", the interval from 0.159 to 0.389 corresponds to successful data for the image "14. Stop", the interval from 0.389 to 0.727 corresponds to successful data for the image "3. Speed limit (60 km / h)", and the interval from 0.727 to 1.000 corresponds to successful data for the image "34. Turn left ahead".
[0051] Thereafter, the successful data sampling unit 104 generates a random number within the range of 0 to 1.000, and determines the successful data with the probability corresponding to the value of this random number as the successful data sample in the successful data selection probability distribution (see symbol P5).
[0052] 3, the value of the random number prepared by the successful data sampling unit 104 is 0.531, which corresponds to the successful data of the image "3. Speed limit (60 km / h)" in the successful data selection probability distribution. Therefore, the successful data sampling unit 104 determines the successful data of the image "3. Speed limit (60 km / h)" as the successful data sample.
[0053] The successful data sampling unit 104 determines a predetermined number of successful data samples. The successful data sampling unit 104 selects, as successful data samples (third multiple data), successful data (first multiple data) whose random number values fall within a corresponding probability range in a successful data selection probability distribution (a probability distribution set according to the magnitude of the value of the loss function L).
[0054] The successful data sampling unit 104 stores the successful data samples in a predetermined storage area such as the storage device 13.
[0055] When the weights of the global best change during each iteration of particle swarm optimization, the optimization processor 105 selects new successful data with a large loss for the machine learning model to which the weights are applied. That is, when the weights of the global best change during each iteration of particle swarm optimization, the optimization processor 105 samples the successful data.
[0056] When the weights change in a machine learning model, the loss of each data also changes, so the successful data with high loss to be selected varies depending on the machine learning model.
[0057] By selecting (reselecting) successful data that is likely to cause degradation in a new machine learning model, i.e., successful data that is close to the decision boundary, it is possible to induce weights that will not cause degradation with such successful data.
[0058] As shown in FIG. 1, the optimization processing unit 105 includes a particle initialization processing unit 106, a fitness calculation unit 107, a global best selection unit 108, a resampling determination unit 109, a particle update unit 110, and an end determination unit 111.
[0059] In particle swarm optimization, a particle swarm having a plurality of particles each including a combination of a plurality of weights (parameter values) is used.
[0060] The training processing unit 100 optimizes the particle group by updating the values (weights, parameter values) of particles (second particles) other than the global best based on the values (weights, parameter values) of the particle (global best, first particle) with the highest fitness value (evaluation value) in the particle group.
[0061] After the particle swarm optimization is completed, the training processing unit 100 reflects the final global best particle values in the weights of the machine learning model, thereby generating a modified model.
[0062] The particle initialization processing unit 106 initializes each particle in the particle swarm optimization method with a normal distribution. Note that the mean and variance may be determined from the weight distribution of the neighborhood.
[0063] The fitness calculation unit 107 calculates the fitness value of each particle.
[0064] FIG. 4 is a diagram for explaining a method for calculating a fitness value by the fitness calculation unit 107 in the information processing device 1 as an example of an embodiment.
[0065] The fitness value can be used as an evaluation value for evaluating particles. The fitness value may also be called a particle evaluation value. The particle with the highest fitness value (global best) may also be called the best particle among multiple particles (particle group).
[0066] The fitness calculation unit 107 inputs the failed data to be corrected and the successful data samples determined by the successful data sampling unit 104 into a machine learning model (substituted model) in which the weights identified as targets for correction by identifying the defect locations are replaced with particle values.
[0067] The successful data samples correspond to a first plurality of data sets that, when input, cause the machine learning model to output a correct answer, and the unsuccessful data sets to be corrected correspond to a second plurality of data sets that, when input, cause the machine learning model to output an incorrect answer.
[0068] Below, the failed data to be corrected is denoted by symbol I neg The successful data samples are denoted by I pos_sampled It may be expressed as:
[0069] Failure Data I neg The number of correct answers obtained by inputting the weights of the machine learning model into the replaced model is denoted by N patched Also, the failure data I neg The loss of L(I neg ) is expressed as
[0070] On the other hand, successful data sample I pos_sampled The number of correct answers obtained by inputting the data into the substituted model, that is, the number of data that remain successful even in the substituted model, is denoted by N intact Also, the successful data sample I pos_sampled The loss of L(I pos ) is expressed as
[0071] The fitness calculation unit 107 calculates the fitness value based on the following equation (2).
[0072] fitness={(N patched +1) / (L(I neg )+1)}+{ (N intact +1) / (L(I pos )+1)}···(2) The fitness calculation unit 107 stores the calculated fitness value in a predetermined storage area of the storage device 13 or the like.
[0073] For example, particles x1, ,x k Let the fitness values of each of the k ) can be expressed as
[0074] For example, for particle x1, N patched = 21,L(I neg ) = 1.184,N intact = 981, L(I pos ) = 0.732, fitness(x1)={(21 + 1) / 1.184 + 1)}+{(98+1) / (0.732+1)}=67.23 This becomes:
[0075] The global best selection unit 108 selects the particle with the highest fitness value from among the plurality of particles as the global best p g Selected as Global Best p g can be expressed as follows:
[0076]
number
[0077] The resampling determination unit 109 determines whether to resample the successful data used in particle swarm optimization when the global best particles change.
[0078] The resampling determination unit 109 refers to the global best history and checks whether the global best particle selected by the global best selection unit 108 is the same as the previous global best particle.
[0079] If the global best particle selected by the global best selection unit 108 is different from the previous global best particle, the resampling determination unit 109 causes the sampling processing unit 101 to acquire a successful data sample. That is, if the weight of the global best changes in the iteration of the particle swarm optimization method, sampling of successful data is performed.
[0080] If the fitness value (evaluation value) of a specific particle (second particle) in the updated particle group is higher than the fitness value of the global best (first particle), i.e., if the global best has changed, the resampling determination unit 109 causes the sampling processing unit 101 to execute a process of selecting a successful data sample (third plurality of data).
[0081] The particle update unit 110 updates the value of each particle other than the global best particle so that the value approaches the value of the global best particle updated by the global best selection unit 108 .
[0082] The particle update unit 110 may update the value of each particle based on, for example, the following formula:
[0083] x i (t) = x i (t-1) + v i (t-1) v i (t) =c0v i (t-1) + c1r1(p l -x i (t))+c2r2(p g -x i (t)) c0, c1, c2 are constants, r1, r2 are random numbers, p l is local best, p g is the global best. x i (t) and v i (t) represents the position and velocity of the particle swarm.
[0084] The termination determination unit 111 determines whether the termination condition of the particle optimization process is satisfied. As described above, the termination condition is, for example, that the number of iterations reaches a predetermined number, or that the global best particles remain unchanged for a certain number of times.
[0085] The termination determination unit 111 terminates the particle swarm optimization process when the termination condition is satisfied. When terminating the particle swarm optimization process, the termination determination unit 111 reflects the global best particle value in the weight of the machine learning model. This generates a corrected model.
[0086] The training data generation unit 100 generates training data including the successful data samples (third plurality of data) selected as described above and a plurality of failure data (second plurality of data).
[0087] (B) Operation The processing of the sampling processing unit 101 in the information processing device 1 configured as above as an example of an embodiment will be described with reference to the flowchart (steps A1 to A3) shown in FIG.
[0088] Sampling of successful data is done by pos_sampler(I pos , M). pos represents the set of successful data, and M represents the machine learning model.
[0089] In step A1, the loss calculation unit 102 calculates each successful data s i (s i ∈I pos ) is input to the machine learning model M, and the loss function value L(s i The loss calculation unit 102 calculates the calculated value of the loss function L(s i ) is recorded in a predetermined storage area such as the storage device 13.
[0090] In step A2, the probability distribution conversion unit 103 converts each success data s i For the loss function value L(s i ) using the above formula (1), the probability p(si ) are calculated. Furthermore, the probability distribution conversion unit 103 generates a successful data selection probability distribution.
[0091] In step A3, the successful data sampling unit 104 selects a predetermined number of successful data samples to be used in the particle swarm optimization method from the plurality of successful data based on the successful data selection probability distribution.
[0092] The set of successful data samples (selected successful data set) is I pos_sampled The successful data sampling unit 104 is pos_sampled is initialized with an empty set (Φ). That is, I pos_sampled ={Φ}.
[0093] The successful data sampling unit 104 prepares a uniform random number r in which 0≦r<1. The successful data sampling unit 104 also initializes the cumulative total d0 to d0=0.
[0094] The successful data sampling unit 104 i = d i-1 + p(s i ) as d i-1 ≦r <d i If so, s i As a successful data sample, the successful data sampling unit 104 selects the data having the probability corresponding to the value of the random number r in the successful data selection probability distribution as the successful data sample.
[0095] In addition, the successful data sampling unit 104 i If s has not been selected as a successful data sample, i I pos_sampled In other words, I pos_sampled = I pos_sampled ∪{s i}
[0096] When a certain number of successful data samples are collected, the successful data sampling unit 104 creates a set I of successful data samples. pos_sampled If the number of successful data samples is less than the predetermined value, the successful data sampling unit 104 prepares a new random number r and repeats the same process.
[0097] Next, the processing of the optimization processing unit 105 in the information processing device 1 as an example of an embodiment will be described in accordance with the flowchart (steps B1 to B10) shown in Fig. 6 with reference to Fig. 7. Fig. 7 is a diagram showing a specific example of the processing of the optimization processing unit 105.
[0098] In step B1, the optimization processing unit 105 causes the sampling processing unit 101 to perform successful data sampling.
[0099] In step B2, the particle initialization processing unit 106 initializes each particle in the particle swarm optimization method with a normal distribution.
[0100] In step B3, a loop process is started in which the control up to step B10 is repeatedly carried out until the iteration (iter) reaches a predetermined value (max_iter).
[0101] In step B4, the fitness calculation unit 107 calculates the fitness value of each particle.
[0102] In the example shown in FIG. 7, 100 particles x1 to x 100 For each of the above, the fitness calculation unit 107 calculates the fitness value. For example, in iteration # t, the fitness value of particle x1 is 67.23, and the fitness value of particle x 100 has a fitness value of 52.11.
[0103] In step B5, the global best selection unit 108 selects the particle with the highest fitness value from among the plurality of particles as the global best p gThe global best selection unit 108 selects the selected global best p g The information is added to the global best history, which is represented by the symbol hist.
[0104] In the example shown in FIG. 7, for example, at iteration # t, the fitness value of particle x1 is 67.23, the fitness value of particle x2 is 70.79, and the fitness value of particle x 100 The fitness value of particle x2 is 52.11. In iteration # t, particle x2 has the highest fitness value of 70.79, and the global best selection unit 108 selects particle x2 as the global best in iteration # t.
[0105] In step B6, the particle update unit 110 updates the values of each particle other than the global best particle so that the values approach the values of the global best particle updated by the global best selection unit .
[0106] That is, based on the parameters of the global best (first particle) with the highest fitness value (evaluation value), the particle update unit 110 updates the parameter values of each particle (second particle) other than the global best so as to approach this parameter value.
[0107] In step B7, the termination determination unit 111 checks whether the global best has not been updated for a predetermined number of iterations. If the global best has not been updated for a predetermined number of iterations (see the YES route in step B7), the termination condition is satisfied, and the process is terminated.
[0108] On the other hand, if the global best has been updated during the predetermined iteration (see the NO route from step B7), the process proceeds to step B8.
[0109] In step B8, the resampling determination unit 109 refers to the global best history and checks whether the global best particle selected by the global best selection unit 108 is the same as the previous global best particle.
[0110] Here, the global best particle in the previous iteration is represented as hist[iter −1]. g Determine whether hist[iter -1] is true.
[0111] If the global best particle selected by the global best selection unit 108 is different from the global best particle in the previous iteration (see the NO route in step B8), the process proceeds to step B9.
[0112] In the example shown in FIG. 7, in iteration # t-1, the fitness value of particle x1 is 67.23, the fitness value of particle x2 is 53.65, and the fitness value of particle x 100 The fitness value of particle x1 is 49.71. In iteration # t-1, particle x1 has the highest fitness value of 67.23, and this particle x1 is the global best in iteration # t-1. In other words, the global best in iteration # t is particle x2, which is different from the global best particle x1 in the previous iteration (iteration # t-1).
[0113] At iteration # t, the new global best particle x2 has a fitness value of 70.79, which is higher than the fitness value of particle x1, which was the global best at iteration # t-1, which was 67.23.
[0114] In step B9, the optimization processing unit 105 causes the sampling processing unit 101 to perform successful data sampling. That is, when the weight of the global best changes in the iteration of the particle swarm optimization method, the optimization processing unit 105 samples the successful data. That is, the successful data sample is updated. Then, the process proceeds to step B10.
[0115] Also, if the result of the check in step B8 shows that the global best particle selected by the global best selection unit 108 is the same as the previous global best particle (see the YES route in step B8), the process proceeds to step B10.
[0116] In step B10, loop end processing corresponding to step B3 is performed. When the iteration (iter) reaches a predetermined value (max_iter), this flow ends.
[0117] (C) Effects Thus, according to the information processing device 1 as an example of an embodiment, in the sampling processing unit 101, the probability distribution conversion unit 103 generates a distribution (probability distribution) of the probability that each of multiple successful data will be selected based on the value of the loss function of each successful data calculated by the loss calculation unit 102.
[0118] Then, the successful data sampling unit 104 generates a random number according to the successful data selection probability distribution set by the probability distribution conversion unit 103, and determines the successful data with the probability corresponding to the value of this random number as the successful data sample. Specifically, the successful data sampling unit 104 performs random selection such that the larger the loss, the higher the probability of selection of the successful data.
[0119] This allows for a certain degree of randomness and allows for the selection of successful data close to the value of the loss function L, making it possible to search with a gradual trade-off between correction and degradation.
[0120] In other words, instead of selecting successful data close to the decision boundary layer as in conventional methods, it is possible to select successful data samples from multiple successful data with probabilistic variation, thereby preventing degradation from occurring.
[0121] In addition, in the optimization processing unit 105, the resampling determination unit 109 determines to resample the successful data used in particle swarm optimization when the global best particles change in particle swarm optimization.
[0122] In particle swarm optimization, when particle weights change, the loss of each successful data input also changes. In a machine learning model in which parameters are changed according to the global best particle weights, by selecting successful data that are likely to cause degradation, and training to prevent degradation with the selected successful data, a machine learning model that is less likely to cause degradation can be generated. In addition, degradation is less likely to occur in local modifications such as per label.
[0123] FIG. 8 is a diagram showing a comparison between a case where a machine learning model is corrected by the training processing unit 100 of the information processing device 1 as an example of an embodiment and a case where a machine learning model is corrected by a conventional method.
[0124] In Figure 8, the accuracy, correction rate, and regression rate are compared, with symbol P1 indicating a case where corrections were made to the machine learning model using a conventional method, and symbol P2 indicating a case where corrections were made to the machine learning model using the training processing unit 100 of this information processing device 1.
[0125] 8 shows an example in which VGG16 is used as the machine learning model and CIFAR10 is used as the dataset. The occurrence of degradation caused by modifying the machine learning model is expressed by the regression rate. As shown in FIG. 8, the regression rate was 6.41% in the conventional method, but when the machine learning model is modified by the training processing unit 100 of the information processing device 1, the regression rate becomes 2.66%, indicating that degradation is less likely to occur.
[0126] (D) Other FIG. 9 is a diagram illustrating a hardware configuration of an information processing device 1 as an example of an embodiment.
[0127] The information processing device 1 has, as components, for example, a processor 11, a memory 12, a storage device 13, a graphics processing device 14, an input interface 15, an optical drive device 16, a device connection interface 17, and a network interface 18. These components 11 to 18 are configured to be able to communicate with each other via a bus 19.
[0128] The processor (controller) 11 controls the entire information processing device 1. The processor 11 may be a multiprocessor. The processor 11 may be, for example, any one of a CPU, an MPU (Micro Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), an FPGA (Field Programmable Gate Array), and a GPU (Graphics Processing Unit). The processor 11 may also be a combination of two or more types of elements from the CPU, MPU, DSP, ASIC, PLD, FPGA, and GPU.
[0129] Then, the processor 11 executes the control program (training data generation program 13a) for the information processing device 1, thereby realizing the functions of the sampling processing unit 101 and the optimization processing unit 105 illustrated in FIG.
[0130] The information processing device 1 realizes the functions of the sampling processing unit 101 and the optimization processing unit 105 by executing a training data generation program 13a and an OS program, which are programs recorded on a computer-readable non-transitory recording medium, for example.
[0131] Programs describing the processing to be executed by the information processing device 1 can be recorded on various recording media. For example, a training data generation program 13a to be executed by the information processing device 1 can be stored in the storage device 13. The processor 11 loads at least a part of the training data generation program 13a in the storage device 13 into the memory 12 and executes the loaded program.
[0132] The training data generation program 13a to be executed by the information processing device 1 (processor 11) may also be recorded on a non-transitory portable recording medium such as an optical disk 16a, a memory device 17a, or a memory card 17c. The training data generation program 13a stored on the portable recording medium becomes executable after being installed in the storage device 13 under the control of, for example, the processor 11. The processor 11 may also read and execute the training data generation program 13a directly from the portable recording medium.
[0133] The memory 12 is a storage memory including a ROM (Read Only Memory) and a RAM (Random Access Memory). The RAM of the memory 12 is used as the main storage device of the information processing device 1. The RAM temporarily stores at least a part of the program to be executed by the processor 11. The memory 12 also stores various data required for processing by the processor 11.
[0134] The storage device 13 is a storage device such as a hard disk drive (HDD), a solid state drive (SSD), or a storage class memory (SCM), and stores various data. The storage device 13 is used as an auxiliary storage device for the information processing device 1. The storage device 13 stores an OS program, a control program, and various data. The control program includes a training data generation program 13a.
[0135] The auxiliary storage device may be a semiconductor storage device such as an SCM or a flash memory. A plurality of storage devices 13 may be used to configure a RAID (Redundant Array of Inexpensive Disks).
[0136] The storage device 13 may also store various data generated when the sampling processing unit 101 and optimization processing unit 105 execute the respective processes.
[0137] A monitor 14a is connected to the graphics processing device 14. The graphics processing device 14 displays an image on the screen of the monitor 14a in accordance with an instruction from the processor 11. Examples of the monitor 14a include a display device using a CRT (Cathode Ray Tube) and a liquid crystal display device.
[0138] A keyboard 15a and a mouse 15b are connected to the input interface 15. The input interface 15 transmits signals sent from the keyboard 15a and the mouse 15b to the processor 11. The mouse 15b is an example of a pointing device, and other pointing devices can also be used. Examples of other pointing devices include a touch panel, a tablet, a touch pad, and a trackball.
[0139] The optical drive device 16 uses a laser beam or the like to read data recorded on an optical disc 16a. The optical disc 16a is a portable, non-transitory recording medium on which data is recorded so that it can be read by reflected light. Examples of the optical disc 16a include a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), and a CD-R (Recordable) / RW (Rewritable).
[0140] The device connection interface 17 is a communication interface for connecting peripheral devices to the information processing device 1. For example, a memory device 17a or a memory reader / writer 17b can be connected to the device connection interface 17. The memory device 17a is a non-transitory recording medium, such as a USB (Universal Serial Bus) memory, that has a function for communicating with the device connection interface 17. The memory reader / writer 17b writes data to or reads data from a memory card 17c. The memory card 17c is a card-type non-transitory recording medium.
[0141] The network interface 18 is connected to a network. The network interface 18 transmits and receives data via the network. Other information processing devices, communication devices, etc. may be connected to the network.
[0142] The disclosed technology is not limited to the above-described embodiment, and can be implemented in various modifications without departing from the spirit of the present embodiment.
[0143] Furthermore, the above disclosure will enable those skilled in the art to implement and manufacture the present embodiment.
[0144] (E) Supplementary Note The following additional notes are provided regarding the above-described embodiments.
[0145] (Appendix 1) Acquire a first plurality of data that, when input, causes the machine learning model to output a correct answer and a second plurality of data that, when input, causes the machine learning model to output an incorrect answer; selecting a third plurality of data from the first plurality of data based on a probability corresponding to the magnitude of a value of a loss function when an output of the machine learning model for each of the first plurality of data is input; generating training data including the second plurality of data and the third plurality of data; A training data generation program that causes a computer to execute a process.
[0146] (Appendix 2) The process of selecting the third plurality of data includes selecting, as the third plurality of data, the first plurality of data whose random number value corresponds to a corresponding probability range in a probability distribution set according to the magnitude of the value of the loss function. 2. The training data generation program according to claim 1, further comprising:
[0147] (Appendix 3) In a particle group having a plurality of particles each having a combination of a plurality of parameter values, updating the parameter value of a second particle other than the first particle based on the parameter value of a first particle having the highest evaluation value; 3. The training data generation program according to claim 1, further comprising causing the computer to execute a process of selecting the third plurality of data when the updated evaluation value of the second particle is higher than the evaluation value of the first particle.
[0148] (Appendix 4) Some parameters included in the machine learning model are updated using parameter values of the particle having the highest evaluation value among the first particles and the second particles. 4. The training data generation program according to claim 3, characterized in that the program causes the computer to execute the processing.
[0149] (Appendix 5) Acquire a first plurality of data that, when input, causes the machine learning model to output a correct answer and a second plurality of data that, when input, causes the machine learning model to output an incorrect answer; selecting a third plurality of data from the first plurality of data based on a probability corresponding to the magnitude of a value of a loss function when an output of the machine learning model for each of the first plurality of data is input; generating training data including the second plurality of data and the third plurality of data; A training data generation method characterized in that processing is executed by a computer.
[0150] (Appendix 6) The process of selecting the third plurality of data includes selecting, as the third plurality of data, the first plurality of data whose random number value corresponds to a corresponding probability range in a probability distribution set according to the magnitude of the value of the loss function. 6. The training data generation method according to claim 5, further comprising the steps of:
[0151] (Appendix 7) In a particle group having a plurality of particles each having a combination of a plurality of parameter values, updating the parameter value of a second particle other than the first particle based on the parameter value of a first particle having the highest evaluation value; 7. The training data generation method according to claim 5, wherein the computer selects the third plurality of data when the updated evaluation value of the second particle is higher than the evaluation value of the first particle.
[0152] (Appendix 8) Some parameters included in the machine learning model are updated using parameter values of the particle having the highest evaluation value among the first particles and the second particles. 8. The training data generation method according to claim 7, wherein the processing is performed by the computer.
[0153] (Appendix 9) Acquire a first plurality of data that, when input, causes the machine learning model to output a correct answer and a second plurality of data that, when input, causes the machine learning model to output an incorrect answer; selecting a third plurality of data from the first plurality of data based on a probability corresponding to the magnitude of a value of a loss function when an output of the machine learning model for each of the first plurality of data is input; generating training data including the second plurality of data and the third plurality of data; An information processing device comprising: a control unit that executes processing.
[0154] (Appendix 10) The process of selecting the third plurality of data includes selecting, as the third plurality of data, the first plurality of data whose random number value corresponds to a corresponding probability range in a probability distribution set according to the magnitude of the value of the loss function. 10. The information processing device according to claim 9, further comprising:
[0155] (Appendix 11) The control unit In a particle group having a plurality of particles each having a combination of a plurality of parameter values, updating the parameter value of a second particle other than the first particle based on the parameter value of a first particle having the highest evaluation value; 11. The information processing device according to claim 9, further comprising: a process of selecting the third plurality of data when the updated evaluation value of the second particle is higher than the evaluation value of the first particle.
[0156] (Appendix 12) The control unit Some parameters included in the machine learning model are updated using parameter values of the particle having the highest evaluation value among the first particles and the second particles. 12. The information processing device according to claim 11, which executes processing. [Explanation of symbols]
[0157] 1. Information processing equipment 11 Processor (control unit) 12 Memory 13 Storage device 13a Training data generation program 14 Graphics Processing Unit 14a Monitor 15 Input Interface 15a keyboard 15b Mouse 16 Optical drive device 16a Optical disc 17 Device connection interface 17a Memory Device 17b Memory reader / writer 17c memory card 18 Network Interface 18a Network 19 Bus 100 Training Processing Unit 101 Sampling processing section 102 Loss calculation section 103 Probability distribution transformation unit 104 Successful Data Sampling Section 105 Optimization processing section 106 Particle initialization processing unit 107 Fitness Calculation Department 108 Global Best Selection Section 109 Resampling decision unit 110 Particle update section 111 End determination unit
Claims
1. Acquire a first plurality of data that, when input, causes the machine learning model to output a correct answer and a second plurality of data that, when input, causes the machine learning model to output an incorrect answer; selecting a third plurality of data from the first plurality of data based on a probability corresponding to a magnitude of a value of a loss function when an output of the machine learning model for each of the first plurality of data is input; generating training data including the second plurality of data and the third plurality of data; A training data generation program that causes a computer to execute a process.
2. The process of selecting the third plurality of data includes selecting, as the third plurality of data, the first plurality of data whose random number value corresponds to a corresponding probability range in a probability distribution set according to the magnitude of the value of the loss function.
2. The training data generation program according to claim 1, further comprising:
3. In a particle group having a plurality of particles each having a combination of a plurality of parameter values, based on the parameter value of a first particle having the highest evaluation value, updating the parameter value of a second particle other than the first particle; 3. The training data generation program according to claim 1, further comprising causing the computer to execute a process of selecting the third plurality of data when the updated evaluation value of the second particle is higher than the evaluation value of the first particle.
4. Some parameters included in the machine learning model are updated using parameter values of a particle having the highest evaluation value among the first particles and the second particles.
4. The training data generation program according to claim 3, wherein the program causes the computer to execute the processing.
5. Acquire a first plurality of data that, when input, causes the machine learning model to output a correct answer and a second plurality of data that, when input, causes the machine learning model to output an incorrect answer; selecting a third plurality of data from the first plurality of data based on a probability corresponding to a magnitude of a value of a loss function when an output of the machine learning model for each of the first plurality of data is input; generating training data including the second plurality of data and the third plurality of data; A training data generation method characterized in that processing is executed by a computer.
6. Acquire a first plurality of data that, when input, causes the machine learning model to output a correct answer and a second plurality of data that, when input, causes the machine learning model to output an incorrect answer; selecting a third plurality of data from the first plurality of data based on a probability corresponding to a magnitude of a value of a loss function when an output of the machine learning model for each of the first plurality of data is input; generating training data including the second plurality of data and the third plurality of data; An information processing device comprising: a control unit that executes processing.
Citation Information
Patent Citations
Method and Apparatus for Improving Positioning Performance of Artificial Neural Networks
JP2018521311A
Information processing apparatus, information processing method and program
JP2019174870A
Information processing apparatus, information processing method for information processing apparatus, and program
JP2021165909A
Resource-light method and apparatus for outlier detection
US20050160340A1
Quality-directed adaptive analytic retraining
US20160371601A1