Machine learning program, machine learning method, and information processing device

By updating specific layers of a machine learning model using entropy-based loss functions, the method addresses concept drift, maintaining accuracy without new labeled data, thereby enhancing model adaptability and reducing manual retraining needs.

JP7597240B2Active Publication Date: 2024-12-10FUJITSU LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2023554195
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-10-21
Publication Date
2024-12-10
Estimated Expiration
2041-10-21

AI Technical Summary

Technical Problem

Existing machine learning models face accuracy deterioration due to concept drift, which is difficult to address without extensive manual retraining using new labeled data, leading to prolonged use of models with reduced performance.

Method used

A method involving unsupervised learning to update specific layers of a machine learning model by applying a loss function that minimizes entropy, allowing the model to adapt to concept drift without requiring new labeled data, by sequentially or batch-wise updating parameters of different layers.

Benefits of technology

This approach effectively maintains high accuracy of the machine learning model by tracking concept drift in real-time, reducing the need for manual retraining and preventing overfitting, thus ensuring consistent performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007597240000002
    Figure 0007597240000002
  • Figure 0007597240000003
    Figure 0007597240000003
  • Figure 0007597240000004
    Figure 0007597240000004
Patent Text Reader

Abstract

This information processing device updates second parameters in one or a plurality of layers corresponding to a second position in a first machine learning model while fixing first parameters in one or a plurality of layers corresponding to a first position in the first machine learning model on the basis of a loss function that includes a first output entropy of the first machine learning model, the first output entropy corresponding to input of first data not including a correct-answer label to the first machine learning model, thereby generating a second machine learning model. The information processing device updates fourth parameters in one or a plurality of layers corresponding to a first position in the second machine learning model while fixing third parameters in one or a plurality of layers corresponding to a second position in the second machine learning model on the basis of a loss function that includes a second output entropy of the second machine learning model, the second output entropy corresponding to input of the first data to the second machine learning model, thereby generating a third machine learning model.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a machine learning program and the like. [Background technology]

[0002] Machine learning models are used to identify and classify data. When using machine learning models, a phenomenon known as "concept drift" can occur over time, where the distribution and properties of data gradually differ from the training data with correct labels used for machine learning. Since machine learning models discriminate and classify according to the training data, if the trends in the input data (data distribution) change during operation due to concept drift, accuracy will deteriorate. In order to accommodate data after such concept drift, machine learning models are retrained using new training data. [Prior art documents] [Non-patent literature]

[0003] [Non-Patent Document 1] Sergey Ioffe, Christian Szegedy, “Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift”, arXiv:1502.03167v3 [cs.LG] 2 Mar 2015 Summary of the Invention [Problem to be solved by the invention]

[0004] However, it is difficult to maintain the accuracy of the machine learning model with the above technology. For example, it is possible to suppress the deterioration of the accuracy of the machine learning model by sequentially performing retraining every time concept drift occurs, but it takes time and effort to prepare training data with correct answer labels corresponding to concept drift each time. Therefore, when the accuracy deteriorates, the machine learning model with deteriorated accuracy will continue to be used until the training data is prepared.

[0005] In one aspect, an object of the present invention is to provide a machine learning program, a machine learning method, and an information processing device that can suppress deterioration of the accuracy of a machine learning model. [Means for solving the problem]

[0006] In a first proposal, the machine learning program causes a computer to execute a process of generating a second machine learning model by fixing parameters of a first layer or layers corresponding to a first position of the first machine learning model while updating parameters of a second layer or layers corresponding to a second position, based on a loss function including an entropy of a first output of the first machine learning model in response to an input of first data that does not include a correct label to the first machine learning model, and generating a third machine learning model by updating parameters of a fourth layer or layers corresponding to the first position, while fixing parameters of a third layer or layers corresponding to the second position of the second machine learning model, based on a loss function including an entropy of a second output of the second machine learning model in response to an input of the first data to the second machine learning model. Effect of the Invention

[0007] According to one embodiment, it is possible to suppress deterioration in accuracy of a machine learning model. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 is a diagram illustrating a machine learning model according to the first embodiment. [Diagram 2] Figure 2 is a diagram explaining the monitoring of the output results of a machine learning model. [Diagram 3] FIG. 3 is a diagram illustrating the concept drift. [Figure 4] FIG. 4 is a diagram illustrating the operation of the machine learning model according to the first embodiment. [Diagram 5] FIG. 5 is a functional block diagram of the information processing device according to the first embodiment. [Figure 6] FIG. 6 is a diagram illustrating an example of training data stored in the training data DB. [Figure 7] FIG. 7 is a diagram illustrating an example of information stored in the output result DB. [Figure 8] FIG. 8 is a diagram illustrating the pre-processing. [Figure 9] FIG. 9 is a diagram for explaining a training method during operation. [Figure 10] FIG. 10 is a diagram for explaining sequential training during operation. [Figure 11] FIG. 11 is a diagram for explaining batch training during operation. [Figure 12] FIG. 12 is a flowchart of the sequential training process according to the first embodiment. [Figure 13] FIG. 13 is a flowchart of the batch training process according to the first embodiment. [Figure 14] FIG. 14 is a diagram for explaining a comparison of deterioration in accuracy. [Figure 15] FIG. 15 is a diagram illustrating an example of a hardware configuration. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Hereinafter, the machine learning program, the machine learning method, and the information processing device according to the present invention will be described in detail with reference to the drawings. Note that the present invention is not limited to these embodiments. In addition, each embodiment can be appropriately combined within a range that does not cause a contradiction.

[0010] FIG. 1 is a diagram for explaining a machine learning model according to a first embodiment. As shown in FIG. 1, in a learning phase, an information processing device 10 generates a machine learning model by machine learning using training data with a correct answer label. Then, in an operation phase, the information processing device 10 inputs input data acquired during operation into the generated machine learning model, and executes multi-class classification, two-class classification, or the like. For example, the information processing device 10 uses the machine learning model to identify people or objects captured in image data.

[0011] After the introduction of a machine learning model, the accuracy of the machine learning model may deteriorate over time, so that output results are often monitored. FIG. 2 is a diagram for explaining monitoring of the output results of a machine learning model. As shown in FIG. 2, an administrator etc. monitors the output results output by the machine learning model in response to input of input data during operation. At this time, the administrator etc. detects abnormal values ​​that are different from normal values ​​through monitoring, and determines that retraining of the machine learning model is necessary when abnormal values ​​occur a predetermined number of times. In addition, the administrator etc. predicts deterioration of accuracy through monitoring, and determines that retraining of the machine learning model is necessary when the accuracy falls below the allowable accuracy.

[0012] One of the factors that cause the accuracy of a machine learning model to deteriorate over time is concept drift, which is a change in the distribution of data. Figure 3 is a diagram explaining concept drift. As shown in Figure 3, the distribution of class A changes from A1 to A2 over time. In this case, since the machine learning model executes machine learning based on class A1, even if class A2 data is input, it cannot be accurately identified as class A. Examples of data changes due to concept drift include email spam that changes so as not to be filtered by a spam filter, electricity demand and stock prices, and image data that depends on the imaging environment, such as changing from summer to winter or morning to night.

[0013] In order to make the machine learning model track the data after such concept drift, the machine learning model is retrained using new training data, but it takes a lot of time and effort to prepare new training data with correct labels that correspond to the concept drift each time.

[0014] Semi-supervised learning is also known as a technique for tracking concept drift. Semi-supervised learning is a method of learning using a large amount of unlabeled data under the assumption that the data distribution is the same. However, when the data distribution changes, such as in the case of concept drift, applying semi-supervised learning can actually result in a deterioration of accuracy. This is because there is much less operational data without correct answer labels compared to training data with correct answer labels, and performing semi-supervised learning using a small amount of operational data with a changed distribution can result in overlearning, causing a deterioration of accuracy.

[0015] Therefore, in order to track concept drift during operation of a machine learning model without using a correct answer label, the information processing device 10 of Example 1 applies a loss function for forming a high-density projection of the data distribution in the projection space in turn to each specific layer, thereby allowing the information processing device 10 to track the concept drift with high accuracy.

[0016] Fig. 4 is a diagram for explaining the operation of the machine learning model according to the first embodiment. As shown in Fig. 4, in the learning phase, the information processing device 10 generates a machine learning model by machine learning using training data with a correct answer label. In the operation phase, the information processing device 10 inputs input data during operation to the machine learning model to execute machine learning of the machine learning model, and inputs input data to the machine learning model after the machine learning to execute multi-class classification, two-class classification, or the like.

[0017] For example, the information processing device 10 generates a second machine learning model by updating parameters of a first layer or layers corresponding to a second position of the first machine learning model while fixing parameters of a first layer or layers corresponding to a first position of the first machine learning model, based on a loss function including the entropy of a first output of the first machine learning model in response to an input of first data that does not include a correct label, which is operational data, to the first machine learning model.

[0018] In addition, the information processing device 10 generates a third machine learning model by updating parameters of a fourth layer or layers corresponding to the first position while fixing parameters of a third layer or layers corresponding to the second position of the second machine learning model, based on a loss function including the entropy of the second output of the second machine learning model in response to the input of the first data to the second machine learning model.

[0019] In other words, when performing unsupervised machine learning using operational data that is smaller than the training data, the information processing device 10 suppresses deterioration of accuracy due to overlearning by updating multiple layers in a stepwise manner rather than updating multiple layers in the machine learning model 14, each of which has a different number of parameters to be updated, all at once.

[0020] Then, the information processing device 10 inputs the first data again into the generated third machine learning model, and executes prediction for the first data based on the output result of the third machine learning model.

[0021] In this way, the information processing device 10 can perform operation and training in parallel by sequentially applying a loss function (Conditional Entropy Minimization) that enables learning that tends to make the internal space dense during operation of the machine learning model, thereby suppressing deterioration in the accuracy of the machine learning model.

[0022] 5 is a functional block diagram showing a functional configuration of the information processing device 10 according to the first embodiment. As shown in FIG. 5, the information processing device 10 includes a communication unit 11, a storage unit 12, and a control unit 20.

[0023] The communication unit 11 controls communication with other devices. For example, the communication unit 11 receives operational data to be predicted by a machine learning model from an external device such as a server, a camera, or an administrator terminal.

[0024] The storage unit 12 stores various data and programs executed by the control unit 20. For example, the storage unit 12 stores a training data DB13, a machine learning model 14, and an output result DB15.

[0025] The training data DB 13 stores training data used for machine learning of the machine learning model 14. Fig. 6 is a diagram showing an example of training data stored in the training data DB 13. As shown in Fig. 6, each training data stored in the training data DB 13 has "input data, correct answer label".

[0026] Here, the "input data" is an explanatory variable of machine learning, such as image data. The "correct label" is an objective variable of machine learning, such as a person appearing in the image data. The example of FIG. 6 illustrates training data in which data A1 and label A are associated with each other. For example, when generating a machine learning model 14 such as image classification, the training data DB 13 stores, as training data, image data to which a correct label "dog" has been assigned and image data to which a correct label "cat" has been assigned.

[0027] The machine learning model 14 is a model generated by machine learning. For example, the machine learning model 14 is a model using a deep neural network (DNN) or the like, and can employ a neural network or other machine learning algorithms. Note that, in this embodiment, an example in which the machine learning model 14 is generated by a control unit described later will be described, but the machine learning model 14 may be generated by another device.

[0028] The output result DB 15 stores output results obtained by operating the machine learning model 14. Specifically, the output result DB 15 stores prediction results predicted by the machine learning model 14. FIG. 7 is a diagram showing an example of information stored in the output result DB 15. As shown in FIG. 7, the output result DB 15 stores "operation data, output result" in association with each other. Here, the "operation data" is data to be predicted that is input to the machine learning model 14, and the "output result" is the prediction result predicted by the machine learning model 14. The example of FIG. 7 shows that data X is input to the machine learning model 14 and the output result X is obtained.

[0029] The control unit 20 is a processing unit that controls the entire information processing device 10. For example, the control unit 20 includes a pre-processing unit 21 and an operation processing unit 22.

[0030] The pre-processing unit 21 generates the machine learning model 14 as pre-processing before operation of the machine learning model 14. Specifically, the pre-processing unit 21 generates the machine learning model 14 by updating various parameters of the machine learning model 14 through machine learning using each training data stored in the training data DB 13.

[0031] Fig. 8 is a diagram for explaining pre-processing. As shown in Fig. 8, the pre-processing unit 21 inputs the training data "Data A1, Label A" of the training data DB 13 to the machine learning model 14, and executes machine learning of the machine learning model 14 so as to reduce the error between the output result of the machine learning model 14 and the correct label "Label A".

[0032] The operation processing unit 22 has a prediction unit 23 and a machine learning unit 24, and executes prediction by the machine learning model 14 and retraining of the machine learning model 14.

[0033] The prediction unit 23 executes prediction using the generated machine learning model 14. For example, when the prediction unit 23 receives operation data X to be predicted, the prediction unit 23 inputs the operation data X to the machine learning model 14 and obtains an output result X. Then, the prediction unit 23 stores the "operation data X" and the "output result X" in the output result DB 15 in association with each other.

[0034] The machine learning unit 24 performs training of the machine learning model 14 by machine learning using the operation data during operation of the machine learning model 14. In other words, after starting operation, the machine learning unit 24 retrains the machine learning model 14 to update the machine learning model 14.

[0035] Specifically, the machine learning unit 24 fixes parameters of a first layer or layers corresponding to a first position of the machine learning model 14, while updating parameters of a second layer or layers corresponding to a second position, based on a loss function including the entropy of a first output of the machine learning model 14 according to the input of the operation data to the machine learning model 14. In this manner, the machine learning unit 24 generates an updated machine learning model 14, which is an example of a second machine learning model, in which parameters of the layer at the second position in the machine learning model 14 have been updated.

[0036] Next, the machine learning unit 24 updates parameters of a fourth layer or layers corresponding to the first position while fixing parameters of a third layer or layers corresponding to the second position of the updated machine learning model 14, based on a loss function including the entropy of a second output of the updated machine learning model 14 in response to an input of the same operational data to the updated machine learning model 14. In this manner, the machine learning unit 24 generates an updated machine learning model 14, which is an example of a third machine learning model, in which parameters of the layer at the first position in the updated machine learning model 14 are further updated.

[0037] For example, an example will be described in which the machine learning model 14 includes a BN (Batch Normalization) layer and an FC (Fully Connected) layer. In this case, the machine learning unit 24 updates the parameters of one or more BN layers corresponding to the second position of the machine learning model 14 by unsupervised learning using the operational data while fixing the parameters of one or more FC layers corresponding to the first position of the machine learning model 14, thereby updating the machine learning model 14. Next, the machine learning unit 24 updates the parameters of one or more FC layers corresponding to the first position of the machine learning model 14 by unsupervised learning using the operational data while fixing the updated parameters of one or more BN layers corresponding to the second position of the updated machine learning model 14, thereby further updating the machine learning model 14.

[0038] Here, machine learning during operation will be described in detail. FIG. 9 is a diagram for explaining a training method during operation. As shown in FIG. 9, the machine learning model 14 includes a BN layer and an FC layer. Here, the BN layer is a layer that normalizes the average of the input for each batch to 0 and the standard deviation to 1, and is a part of the Future Extractor, and usually exists in several layers between the convolution layers. The number of layers varies depending on the model architecture. The FC layer is a fully connected layer that actually classifies using the features after the feature extraction is performed by the Future Extractor, and this fully connected layer (usually 1 to 3 layers) is arranged as the final layer and outputs the number of predicted classes.

[0039] Therefore, the machine learning unit 24 sequentially executes an update process (N-Step) that updates the parameters of the BN layer while fixing the parameters of each layer other than the BN layer so that they are not updated, and an update process (FC-Step) that updates the parameters of the FC layer while fixing the parameters of each layer other than the FC layer so that they are not updated. This N-Step is an update process that adjusts only the parameters at the time of affine transformation after normalization, and the FC-Step is an update process that directly adjusts the weights of the FC layer.

[0040] Furthermore, the loss function used in N-Step and FC-Step can be a loss function that updates weights so as to minimize the conditional entropy shown in formula (1). In formula (1), C is the number of classes, and y is not the correct label but the predicted class of the machine learning model 14. In this case, the machine learning unit 24 performs machine learning so that data classified into the same class are grouped together in the deep learning space.

[0041]

number

[0042] In addition, Pseudo Labeling can also be adopted as the loss function. In this case, cross entropy is used, but the correct label is usually used for the cross entropy. Therefore, in this embodiment, the cross entropy is calculated using the prediction y hat of the model instead of the correct label y. As another example, Virtual Adversarial Training can also be adopted. In this case, perturbation (noise) in a direction that is likely to cause classification errors is added, and machine learning is performed so as to minimize the KL distance (Kullback-Leibler divergence) before and after the noise is inserted.

[0043] As described above, the information processing device 10 can follow the concept drift by executing prediction and machine learning (retraining) in the operation phase of the machine learning model 14. Here, the information processing device 10 can execute machine learning in the operation phase sequentially for each operation data, or can execute it by batch processing by collecting a certain amount of operation data, so the details will be described. Note that, regardless of the method used to update the machine learning model 14, the information processing device 10 executes N-Step and FC-Step alternately for the specified number of iterations to gradually reduce the learning rate.

[0044] Fig. 10 is a diagram for explaining sequential training during operation. As shown in Fig. 10, the operation processing unit 22 executes machine learning of the machine learning model 14 every time operation data is input, and can execute prediction using the machine learning model 14 after the parameters are updated.

[0045] For example, when the operation processing unit 22 receives operation data X, it updates the parameters of the BN layer of the machine learning model 14 by N-Step using the operation data X as training data. Then, the operation processing unit 22 updates the parameters of the FC layer of the machine learning model 14 by FC-Step using the same operation data X as training data for the machine learning model 14 whose BN layer has been updated. Then, the operation processing unit 22 inputs the operation data X to the machine learning model 14 whose BN layer has been updated in this order, the BN layer and the FC layer, and obtains the output result X.

[0046] Thereafter, when the operation processing unit 22 receives new operation data Y, it updates the parameters of the BN layer of the machine learning model 14 by N-Step using the operation data Y as training data. Next, the operation processing unit 22 updates the parameters of the FC layer of the machine learning model 14 by FC-Step using the same operation data Y as training data for the machine learning model 14 with the updated BN layer. Then, the operation processing unit 22 inputs the operation data Y to the updated machine learning model 14 in the order of the BN layer and the FC layer, and obtains the output result Y.

[0047] Further thereafter, when the operation processing unit 22 receives new operation data Z, it updates the parameters of the BN layer of the machine learning model 14 by N-Step using the operation data Z as training data. Next, the operation processing unit 22 updates the parameters of the FC layer of the machine learning model 14 by FC-Step using the same operation data Z as training data for the machine learning model 14 whose BN layer has been updated. Then, the operation processing unit 22 inputs the operation data Z to the updated machine learning model 14 in the order of the BN layer and the FC layer, and obtains the output result Z.

[0048] In this way, the information processing device 10 can track conflict drift in real time by sequentially executing machine learning, and can maintain the accuracy of the machine learning model 14 at a high level.

[0049] Fig. 11 is a diagram for explaining batch training during operation. As shown in Fig. 11, the operation processing unit 22 executes prediction every time operation data is input, and when processing for a certain number of operation data is completed or a certain amount of time has elapsed since the start of operation, it executes machine learning of the machine learning model 14 by batch processing, and can update the parameters of the machine learning model 14.

[0050] For example, when the operation processing unit 22 receives the operation data X1, it inputs the operation data X1 to the machine learning model 14 and obtains the output result X1. Such prediction processing is performed up to the operation data XA. Thereafter, when the timing of the batch processing arrives, the operation processing unit 22 updates the parameters of the BN layer of the machine learning model 14 by N-Step using each piece of data from the operation data X1 to the operation data XA received up to that point as training data. Next, the operation processing unit 22 updates the parameters of the FC layer of the machine learning model 14 by FC-Step using each piece of data from the same operation data X1 to the operation data XA as training data for the machine learning model 14 with the BN layer updated. After repeating the N-Step and FC-Step for the specified number of iterations, the operation processing unit 22 resumes prediction for the subsequent operation data using the machine learning model 14 updated in the order of the BN layer and the FC layer.

[0051] Thereafter, when the operation processing unit 22 receives the operation data XB, it inputs the operation data XB to the machine learning model 14, obtains the output result XB, and executes prediction. Such prediction processing is executed up to the operation data XC. Thereafter, when it is time for batch processing, the operation processing unit 22 updates the parameters of the BN layer of the machine learning model 14 by N-Step using each piece of data from the operation data XB to the operation data XC received after the restart as training data. Next, the operation processing unit 22 updates the parameters of the FC layer of the machine learning model 14 by FC-Step using each piece of data from the same operation data XB to the operation data XC as training data for the machine learning model 14 with the BN layer updated. After repeating the N-Step and FC-Step for the specified number of iterations, the operation processing unit 22 resumes prediction for the subsequent operation data using the machine learning model 14 updated in the order of the BN layer and the FC layer.

[0052] In this way, the information processing device 10 performs machine learning through batch processing, thereby enabling it to keep up with conflict drift while maintaining high-speed prediction processing, thereby achieving both accuracy and processing speed.

[0053] 12 is a flowchart illustrating the flow of the sequential training process according to the embodiment 1. Note that, although an example in which the number of iterations is 1 will be described, the number of iterations can be arbitrarily changed.

[0054] As shown in FIG. 12, when an instruction to start processing is received (S101: Yes), the pre-processing unit 21 generates the machine learning model 14 using training data (S102).

[0055] Thereafter, when the operation processing unit 22 receives the operation data (S103: Yes), it inputs the operation data to the machine learning model 14 and executes forward propagation to obtain an output of the machine learning model 14 (S104). Next, the operation processing unit 22 executes backpropagation using the result of the forward propagation so as to minimize entropy only in the BN layer, and updates the parameters of the BN layer (S105).

[0056] Furthermore, the operation processing unit 22 inputs the operation data to the machine learning model 14 to execute forward propagation and obtain an output of the machine learning model 14 (S106). Next, the operation processing unit 22 executes backpropagation using the result of the forward propagation so as to minimize entropy only in the FC layer, and updates the parameters of the FC layer (S107).

[0057] Thereafter, the operation processing unit 22 re-inputs the operation data into the machine learning model 14 in which the BN layer and the FC layer have been updated in sequence, performs forward propagation, and executes prediction (S108), and obtains the output result (prediction result) (S109).

[0058] If the operation is to be continued (S110: No), S103 and subsequent steps are repeated, and if the operation is to be ended (S110: Yes), the operation processing unit 22 ends the process. Note that S104 to S107 are executed for the specified number of iterations.

[0059] Fig. 13 is a flowchart showing the flow of the batch training process according to the embodiment 1. As shown in Fig. 13, when an instruction to start the process is received (S201: Yes), the pre-processing unit 21 generates the machine learning model 14 using the training data (S202).

[0060] Then, if operation data is received (S204: Yes) but not at the batch processing timing (S203: No), the operation processing unit 22 inputs the operation data into the machine learning model 14 to perform a prediction (S205), and obtains the output result (S206).

[0061] Thereafter, if the operation is to be continued (S207: No), S203 and subsequent steps are repeated, and if the operation is to be ended (S207: Yes), the operation processing unit 22 ends the process.

[0062] On the other hand, in S204, if the operation processing unit 22 does not receive the operation data (S204: No), it repeats S203 and subsequent steps.

[0063] Furthermore, in S203, if it is batch processing timing (S203: Yes), the operation processing unit 22 executes the batch processing to update the machine learning model 14 (S208), and executes S204 and subsequent steps. Note that the batch processing corresponds to S104 to S107 in Fig. 12, and is executed for the specified number of iterations.

[0064] As described above, the information processing device 10 can follow the concept drift by only adjusting the weights of some layers of the machine learning model 14, without changing the architecture of the original machine learning model 14 generated before operation. Furthermore, since the information processing device 10 does not need to prepare other machine learning models for concept drift detection or other machine learning models for concept drift tracking during operation, it is possible to achieve both suppression of accuracy degradation due to application of the machine learning model 14 in operation to concept drift and rapid prediction.

[0065] Here, the verification result of the accuracy degradation when concept drift is generated for each machine learning model trained by an open data set with a correct answer label is explained. For each machine learning model, the original model that does not undergo retraining after training data, the machine learning model using TTN (Tree Tensor Network), the machine learning model using PL (Pseudo-Label) method, the machine learning model updated in the order of N-Step and FC-Step by the method according to the first embodiment, and the machine learning model updated in the order of FC-Step and N-Step by the method according to the first embodiment were prepared. In addition, the concept drift was performed by generating image data to which some noise was added using each of Gaussian noise, shot noise, impulse noise, defocus blur, and glass blur for each image data of the open data set.

[0066] The verification evaluated the error rate of the output result when the image data used for training and the image data to which noise was added were input to each machine learning model. FIG. 14 is a diagram for explaining a comparison of accuracy degradation. As shown in FIG. 14, it was verified that the method according to the first embodiment has a smaller error rate than the original model, the TNT method, and the PL method for image data to which each noise was added. In addition, it was also found that the error rate is slightly smaller in the method according to the first embodiment when the N-Step for updating the BN layer is executed first. As described above, the method according to the first embodiment can suppress the accuracy degradation of the machine learning model compared to any other method that is used as a reference.

[0067] The data examples, numerical values, number of layers, information of each DB, etc. used in the above embodiment are merely examples and can be changed as desired. Also, the information processing device 10 may execute either N-Step or FC-Step first.

[0068] Furthermore, the targets of machine learning (retraining) during operation are not limited to the BN layer and the FC layer. For example, the information processing device 10 classifies each layer of the machine learning model 14 into a first layer group in which the number of parameters is less than a predetermined value and a second layer group in which the number of parameters is equal to or greater than a predetermined value. The information processing device 10 can also perform parameter updates for each layer of the first attribute while fixing the parameters of each layer of the second attribute group by machine learning using operation data, and then perform parameter updates for each layer of the second attribute while fixing the parameters of each layer of the first attribute group.

[0069] In the above embodiment, the machine learning model 14 generated using training data is used as an example for description, but the application scene of the method such as N-Step described in the first embodiment is not limited to during operation. For example, when the machine learning model 14 is applied to an environment different from the training data, the above-mentioned N-Step and FC-Step using the data to be applied can be executed prior to application (operation) to apply the machine learning model 14 to the application environment before the start of operation. In addition, examples of the different environment include the imaging environment of the image data and the performance including the resolution of the camera that captures the image data.

[0070] The information including the processing procedures, control procedures, specific names, various data and parameters shown in the above documents and drawings may be changed arbitrarily unless otherwise specified.

[0071] Furthermore, the specific form of distribution and integration of the components of each device is not limited to that shown in the figure. For example, the pre-processing unit 21 and the operation processing unit 22 may be integrated. In other words, all or part of the components may be functionally or physically distributed or integrated in any unit depending on various loads and usage conditions. Furthermore, all or any part of the processing functions of each device may be realized by a CPU and a program analyzed and executed by the CPU, or may be realized as hardware using wired logic.

[0072] Fig. 15 is a diagram for explaining an example of a hardware configuration. As shown in Fig. 15, an information processing device 10 includes a communication device 10a, a hard disk drive (HDD) 10b, a memory 10c, and a processor 10d. The components shown in Fig. 15 are connected to each other via a bus or the like.

[0073] The communication device 10a is a network interface card or the like, and communicates with other devices. The HDD 10b stores programs and DBs that operate the functions shown in FIG.

[0074] The processor 10d reads out a program that executes the same processes as the respective processing units shown in Fig. 5 from the HDD 10b etc. and loads it in the memory 10c, thereby operating a process that executes the respective functions described in Fig. 5 etc. For example, this process executes the same functions as the respective processing units possessed by the information processing device 10. Specifically, the processor 10d reads out a program having the same functions as the pre-processing unit 21, the operational processing unit 22 etc. from the HDD 10b etc. Then, the processor 10d executes a process that executes the same processes as the pre-processing unit 21, the operational processing unit 22 etc.

[0075] In this way, the information processing device 10 operates as an information processing device that executes a machine learning method by reading and executing a program. The information processing device 10 can also realize functions similar to those of the above-mentioned embodiment by reading the above-mentioned program from a recording medium using a medium reading device and executing the read program. Note that the program in this other embodiment is not limited to being executed by the information processing device 10. For example, the above-mentioned embodiment may be similarly applied to a case where another computer or server executes a program, or a case where these execute a program in cooperation with each other.

[0076] This program may be distributed via a network such as the Internet. Also, this program may be recorded on a computer-readable recording medium such as a hard disk, a flexible disk (FD), a CD-ROM, a magneto-optical disk (MO), or a digital versatile disk (DVD), and may be read out from the recording medium and executed by a computer. [Explanation of symbols]

[0077] 10. Information processing device 11 Communications Department 12 Storage section 13 Training Data DB 14 Machine Learning Models 15 Output result DB 20 Control section 21 Pre-processing section 22 Operation Processing Unit 23 Prediction Department 24 Machine Learning Department

Claims

1. generating a second machine learning model by fixing parameters of a first one or more layers corresponding to a first position of the first machine learning model while updating parameters of a second one or more layers corresponding to a second position, based on a loss function including an entropy of a first output of the first machine learning model in response to an input of first data not including a correct label to the first machine learning model; generating a third machine learning model by updating parameters of a fourth layer or layers corresponding to the first position while fixing parameters of a third layer or layers corresponding to the second position of the second machine learning model, based on a loss function including an entropy of a second output of the second machine learning model in response to an input of the first data to the second machine learning model; A machine learning program that causes a computer to carry out processing.

2. The machine learning program of claim 1, further comprising: inputting the first data into the generated third machine learning model; and performing a prediction on the first data based on the output result of the third machine learning model.

3. generating the first machine learning model by updating parameters of each layer of the first machine learning model so that an error between an output result of the first machine learning model in response to input of training data including a correct answer label and the correct answer label is reduced; The process of generating the second machine learning model includes: generating the second machine learning model by updating the first machine learning model generated using the training data based on the loss function according to an input of the first machine learning model of the first data to be predicted; The process of generating the third machine learning model includes: generating the third machine learning model by updating the second machine learning model based on the loss function according to the input of the first data to the second machine learning model; 2. The machine learning program according to claim 1 .

4. The first machine learning model is a machine learning model having at least a batch normalization layer and a fully connected layer, The process of generating the second machine learning model includes: generating the second machine learning model by updating parameters of the Batch Normalization layer corresponding to the second position while fixing parameters of the Fully Connected layer corresponding to the first position of the first machine learning model, using machine learning that minimizes the entropy based on the loss function including the entropy of an output of the Batch Normalization layer in response to an input of the first data to the first machine learning model; The process of generating the third machine learning model includes: generating the third machine learning model by updating parameters of the fully connected layer corresponding to the first position while fixing parameters of the batch normalization layer corresponding to the second position of the second machine learning model, through machine learning that minimizes the entropy based on the loss function including the entropy of an output of the fully connected layer in response to an input of the first data to the second machine learning model; 2. The machine learning program according to claim 1 .

5. The first one or more layers corresponding to the first position are layers in which the number of parameters updated by machine learning is equal to or greater than a threshold; 2. The machine learning program of claim 1, wherein the first one or more layers corresponding to the second position are each layer for which the number of parameters is less than the threshold.

6. 2. The machine learning program according to claim 1, wherein the loss function is a loss function that updates the weights of the layer to be updated so as to minimize the entropy of the output of the layer to be updated by machine learning as a conditional entropy.

7. generating a second machine learning model by fixing parameters of a first one or more layers corresponding to a first position of the first machine learning model while updating parameters of a second one or more layers corresponding to a second position, based on a loss function including an entropy of a first output of the first machine learning model in response to an input of first data not including a correct label to the first machine learning model; generating a third machine learning model by updating parameters of a fourth layer or layers corresponding to the first position while fixing parameters of a third layer or layers corresponding to the second position of the second machine learning model, based on a loss function including an entropy of a second output of the second machine learning model in response to an input of the first data to the second machine learning model; A machine learning method in which processing is performed by a computer.

8. generating a second machine learning model by fixing parameters of a first one or more layers corresponding to a first position of the first machine learning model while updating parameters of a second one or more layers corresponding to a second position, based on a loss function including an entropy of a first output of the first machine learning model in response to an input of first data not including a correct label to the first machine learning model; generating a third machine learning model by updating parameters of a fourth layer or layers corresponding to the first position while fixing parameters of a third layer or layers corresponding to the second position of the second machine learning model, based on a loss function including an entropy of a second output of the second machine learning model in response to an input of the first data to the second machine learning model; An information processing device having a control unit.