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

JPWO2025115108A1Pending Publication Date: 2025-06-05
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Filing Date
2023-11-28
Publication Date
2025-06-05

AI Technical Summary

Technical Problem

Conventional machine learning models, particularly neural networks, face accuracy degradation over time due to concept drift and inadequate training strategies, which can lead to overfitting or forgetting when dealing with limited training data.

Method used

The proposed solution involves a machine learning program that assesses the contribution of each neuron in a neural network model during inference and selectively retunes the weights of neurons with low contribution without updating those with high contribution, thereby maintaining model accuracy.

Benefits of technology

This approach effectively suppresses accuracy degradation of neural network models by focusing retraining on neurons with low contribution, thereby maintaining model performance while avoiding overfitting and forgetting.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

Concept drift occurs during the operation of an AI system, resulting in a decrease in accuracy of the machine learning model. Therefore, there is a method to maintain accuracy by training each layer of the machine learning model separately and decreasing the learning rate slowly and gently to keep up with the concept drift. However, conventional methods train only some specific layers, which may result in an inability to sufficiently maintain the accuracy of the machine learning model. This machine learning program causes a computer to perform a process for: acquiring, when inference is performed using a trained neural network model, the degree of contribution of each of a plurality of neurons included in the neural network model to the prediction; and on the basis of the degrees of contribution, re-training the neural network without updating the weights of neurons, among the plurality of neurons, the degrees of contribution of which meet a prescribed criterion. Thus, it is possible to suppress degradation in accuracy of the neural network model.
Need to check novelty before this filing date? Find Prior Art

Description

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

[0001] The present invention relates to machine learning techniques.

[0002] After an AI (Artificial Intelligence) system is introduced, its accuracy deteriorates over time. For example, concept drift, a problem in which the quality of the data being classified by a machine learning model changes during operation, can occur, causing the accuracy of the machine learning model to decline.

[0003] Therefore, to ensure the quality of AI systems, measures are required, such as monitoring AI output results, detecting abnormal values, predicting and detecting accuracy degradation in advance, etc. Furthermore, if the accuracy of a machine learning model has deteriorated or there are signs of deterioration, the machine learning model is trained (retrained) to maintain its accuracy.

[0004] A typical example of a machine learning model is a neural network model. When training a neural network model, one method is to train each layer, such as a fully connected layer (FC layer) or a batch normalization layer (BN layer), and slowly decrease the learning rate to keep up with concept drift and maintain the accuracy of the machine learning model.

[0005] Sergey Ioffe, Christian Szegedy, “Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift”, arXiv: 1502.03167v3

[0006] However, conventional methods train only a fixed number of layers regardless of the prediction content of the machine learning model, which can make it difficult to maintain the accuracy of the machine learning model. On the other hand, when training all layers, for example, if there is a small amount of training data, overfitting and forgetting (catastrophic forgetting) may occur.

[0007] In one aspect, an object is to suppress deterioration in accuracy of a neural network model.

[0008] In one aspect, the machine learning program causes a computer to perform a process of acquiring the contribution of each of multiple neurons included in a neural network model to a prediction when inference is performed using a trained neural network model, and retraining the neural network based on the contribution without updating the weights of neurons among the multiple neurons whose contribution meets a predetermined criterion.

[0009] In one aspect, deterioration in accuracy of the neural network model can be suppressed.

[0010] FIG. 1 is a diagram showing an example of concept drift. FIG. 2 is a diagram showing examples of outlier detection and accuracy degradation prediction. FIG. 3 is a diagram showing an example of Multi-Step Entropy Minimization (MEM). FIG. 4 is a diagram showing an example problem. FIG. 5 is a diagram for explaining an example of a problem with MEM that trains only a specific layer. FIG. 6 is a diagram showing an example of neuron weight tuning according to this embodiment. FIG. 7 is a diagram showing an example of the configuration of a machine learning device 10 according to this embodiment. FIG. 8 is a flowchart showing an example of the flow of training and prediction processes according to this embodiment. FIG. 9 is a diagram showing an example of the effect of neuron weight tuning according to this embodiment. FIG. 10 is a diagram showing an example of the hardware configuration of the machine learning device 10 according to this embodiment.

[0011] Below, examples of the machine learning program, machine learning device, and machine learning method according to this embodiment will be described in detail with reference to the drawings. Note that this embodiment is not limited to these examples. Furthermore, each example can be combined as appropriate within a consistent range.

[0012] First, concept drift will be described. Fig. 1 is a diagram showing an example of concept drift. The example in Fig. 1 shows class distributions A and B, and class distribution A changes over time as A 1 From A 2This shows a transition from one data distribution to another. This change in data distribution over time is called concept drift. Concept drift can occur, for example, in email spam, electricity demand, stock prices, poker hands (the way poker hands are played changes), and images (inputs change with changes in season or time of day).

[0013] In the example of FIG. 1, the original learning device, which is an information processing device, uses data A as a machine learning model. 1 Since the training is performed using the correct data, the accuracy decreases over time. 2 Since there is no correct data for this, a method is required to maintain accuracy by following changes in data distribution.

[0014] Next, we will explain the problems with the conventional technology. Figure 2 is a diagram showing examples of outlier detection and accuracy degradation prediction. Figure 2 shows an example of outlier detection for ensuring the quality of an AI system on the left side, and an example of accuracy degradation prediction on the right side.

[0015] For example, as shown on the left side of Figure 2, in outlier detection to ensure the quality of an AI system, the output results from the machine learning model are monitored and outliers that fall outside the range of a specified threshold are detected.

[0016] Furthermore, for example, as shown on the right side of Figure 2, in accuracy degradation prediction (prediction inference) to ensure the quality of an AI system, the output results from the machine learning model are monitored, the accuracy of future prediction times is predicted, and it is determined whether the prediction accuracy is within the allowable limits.

[0017] However, these outlier detection and accuracy degradation prediction methods have problems, such as difficulty in identifying the cause of an anomaly and in not being able to handle cases where an outlier or accuracy degradation is caused by something other than the input being monitored.Furthermore, there are also cases where an outlier or accuracy degradation is caused by a change in the input to the machine learning model, and there are also problems in not being able to handle such cases.

[0018] Figure 3 is a diagram showing an example of Multi-Step Entropy Minimization (MEM). In MEM, for example, as shown in the upper part of Figure 3, the BN layer is fixed and only the BN layer is trained in the N Step, and the FC layer is fixed and only the FC layer is trained in the FC Step. Then, in MEM, for example, as shown in the lower part of Figure 3, the N Step and the FC Step are alternately executed to slowly decrease the learning rate and follow concept drift.

[0019] However, even with MEM, there are problems. Figure 4 shows an example of the problem. The left side of Figure 4 shows training data, and the right side shows operational data. For example, the operational data contains various noises, which makes it worse than the training data.

[0020] Figure 5 is a diagram illustrating an example of a problem with MEM, which trains only specific layers. First, for example, the loss of operational data is calculated for the operational model. More specifically, the output of the operational model is obtained using operational data, such as 200 images, stored at a certain interval.

[0021] Then, as shown in Figure 5, all layers except certain ones are fixed, and only certain layers are trained in order. More specifically, for example, the loss function is set to conditional entropy, and weights are changed to minimize this. Also, for example, statistical adjustments are made to only the N-step BN layer to change the affine transformation parameters. Furthermore, for example, adjustments are made to the classification boundary surface only in the FC layer for the FC-step and N-step adapted models. Note that in typical semi-supervised methods, these changes are applied to all layers. Furthermore, predictions are made based on the adapted results.

[0022] As described above, conventional methods train only a fixed portion of layers regardless of the prediction content of the machine learning model, which may result in insufficient accuracy of the machine learning model. On the other hand, when training all layers, overlearning and forgetting (catastrophic forgetting) may occur if, for example, there is little training data. For example, correcting all layers requires approximately 1,000 images per class; if there are fewer than this, the accuracy of the machine learning model may deteriorate.

[0023] Therefore, in this embodiment, only the weights of neurons that are unlikely to be used during prediction using a trained neural network (NN) model, that is, neurons that have a low degree of contribution to prediction, are tuned.

[0024] FIG. 6 is a diagram illustrating an example of tuning neuron weights according to this embodiment. In FIG. 6, the area surrounded by a dashed line represents neurons with low contribution to prediction. In this embodiment, for example, only the neurons in this area are tuned. In the conventional method, as described above, training is performed on only a specific layer, where the layer refers to a set of neurons arranged vertically in FIG. 6. In this embodiment, rather than training on a layer-by-layer basis as in the conventional method, the contribution of each neuron to prediction for the entire NN is calculated, and training is performed on a contribution-by-contribution basis. The method for calculating the contribution will be described later. In this way, this embodiment can suppress deterioration in the accuracy of the NN model while tracking concept drift. Furthermore, since this embodiment changes more neurons than the conventional method, deterioration in the accuracy of the NN model can be suppressed with a smaller amount of data. Furthermore, in this embodiment, neurons are not moved so much that they would cause forgetting, and the weights of neurons with high contribution to prediction are left unchanged without being modified, thereby suppressing forgetting due to overlearning.

[0025] [Functional Configuration of Machine Learning Device 10] The functional configuration of the machine learning device 10, which is the executing entity of this embodiment, will be described using Figure 7. Figure 7 is a diagram showing an example configuration of the machine learning device 10 according to this embodiment. The machine learning device 10 shown in Figure 7 is, for example, an information processing device such as a desktop personal computer (PC), a notebook PC, or a server computer. Note that while Figure 7 shows the machine learning device 10 as a single computer, it may also be a distributed computing system including multiple computers. Furthermore, the machine learning device 10 may also be a cloud computing device managed by a service provider that provides cloud computing services.

[0026] As shown in FIG. 7 , the machine learning device 10 includes a communication unit 20 , a storage unit 30 , and a control unit 40 .

[0027] The communication unit 20 is a processing unit that controls communication with other devices, and is, for example, a communication interface such as a network interface card or a USB (Universal Serial Bus) interface.

[0028] The storage unit 30 has a function of storing various data and programs executed by the control unit 40, and stores, for example, model information 31, prediction information 32, and the like.

[0029] The model information 31 stores, for example, information about a machine learning model for recognizing an object or the like included in an image from the feature amount of the image, model parameters and training data for constructing the machine learning model, etc. The machine learning model may be, for example, an NN model.

[0030] The prediction information 32 stores, for example, prediction results from a machine learning model such as a trained NN model, and the contribution of each neuron included in the NN model to the prediction.

[0031] Note that the above information stored in the storage unit 30 is merely an example, and various other information can be stored in the storage unit 30. Furthermore, for example, if the machine learning device 10 only trains the machine learning model and predictions are performed by another device, the machine learning device 10 does not need to store some of the above information, such as the prediction results in the prediction information 32.

[0032] The control unit 40 is a processing unit, such as a processor, that controls the entire machine learning device 10. The control unit 40 includes an acquisition unit 41, a training unit 42, and a prediction unit 43. Each processing unit is an example of an electronic circuit included in the processor or an example of a process executed by the processor.

[0033] For example, when a prediction is made using a trained NN model, the acquisition unit 41 acquires the contribution of each of a plurality of neurons included in the NN model to the prediction.

[0034] The process of acquiring the contribution may include, for example, acquiring the contribution based on the weights of the multiple neurons. More specifically, for example, the acquisition unit 41 calculates the absolute value of the weight of each neuron and acquires the absolute value as the contribution. In this case, neurons with low contribution, i.e., neurons with small absolute weight values, are the training targets. Alternatively, the acquisition unit 41 acquires, for example, the gradient change of the weight when the weights are further corrected by backpropagation using training data (when overlearning is attempted) as the contribution. In this case, neurons with low contribution, i.e., neurons with small gradient change of the weight are the training targets. Alternatively, the acquisition unit 41 acquires, for example, the inverse of the absolute error from the average of the weights of the multiple neurons as the contribution. In this case, neurons with low contribution, i.e., neurons with large absolute error from the average of the weights are the training targets.

[0035] The training unit 42 creates an operational model, such as an NN model for predicting objects contained in an image based on the image's features, by training it using training data such as 20 images per class to be classified.

[0036] Furthermore, the training unit 42 performs retraining of the NN model without updating the weights of neurons whose contributions satisfy a predetermined criterion (by fixing the weights) based on, for example, the contributions acquired by the acquisition unit 41. The training unit 42 performs retraining of the NN model without updating the weights of neurons whose contributions satisfy the predetermined criterion, for example, neurons whose contributions are equal to or greater than a predetermined threshold. In other words, only low-contribution neurons whose contributions are less than a predetermined threshold are retrained. Note that retraining of neurons may involve modifying the weights of neurons, for example, by entropy minimization.

[0037] More specifically, for example, the training unit 42 selects the neurons with low contribution rates in descending order of contribution. Note that selecting the neurons with low contribution rates in descending order of contribution rates may mean, for example, selecting neurons with contribution rates in the bottom 10%. Then, the training unit 42 performs retraining of the NN model, for example, using the selected neurons with low contribution rates as training targets, without updating the weights of neurons whose contribution rates are equal to or greater than a predetermined threshold.

[0038] In addition, the process of performing retraining may include, for example, a process of performing retraining of the NN model using training data without correct answer labels, without updating the weights of neurons above the predetermined threshold based on the contribution degree.

[0039] The prediction unit 43 predicts objects contained in an image from the feature quantities of the image, for example, using the NN model trained by the training unit 42. Note that the machine learning device 10 does not need to include the prediction unit 43 in cases where only training of the machine learning model is performed in the machine learning device 10 and prediction is performed by another device.

[0040] [Processing Flow] Next, the flow of training and prediction processing by the machine learning device 10 will be described with reference to Fig. 8. Fig. 8 is a flowchart showing an example of the flow of training and prediction processing according to this embodiment.

[0041] First, the machine learning device 10 creates an operational model for predicting objects contained in an image, for example, from the image's features, by training it using training data such as 20 images per class to be classified (step S101).

[0042] Next, the machine learning device 10 inputs operational data, such as 200 images, into the operational model generated in step S101 (step S102).

[0043] Next, the machine learning device 10 forwards the operational data received in step S102 to the operational model generated in step S101, for example, to obtain the output of Logits, i.e., the predicted value of the operational model (step S103).

[0044] Next, the machine learning device 10 fixes the weights of some neurons in the operational model based on, for example, their contributions, and modifies only the weights of the remaining part (step S104). The modification of the neuron weights in step S104 may be performed by, for example, calculating a loss based on the Logits obtained in step S103. The weights of the remaining part may be, for example, the weights of neurons with the lowest 10% of contributions.

[0045] Next, the machine learning device 10 forwards the operational data that has flowed in at step S102 to the operational model whose weights have been corrected at step S104, for example, to obtain a Logits output (step S105).

[0046] Next, the machine learning device 10 performs prediction by, for example, forwarding the operational data received in step S102 to the operational model whose weights have been modified in step S104, obtaining the output of Logits, and applying Softmax (step S106). After step S106 is executed, the training and prediction process shown in FIG. 8 ends.

[0047] [Effects] Next, for reference, the effect of tuning neuron weights according to this embodiment will be described. FIG. 9 is a diagram showing an example of the effect of tuning neuron weights according to this embodiment. FIG. 9 shows the results of tuning the weights of (1) the BN layer + the final FC layer only, (2) the BN layer + the final FC layer + low-contribution neurons, and (3) all layers for the open data Cifar100-C shown in FIG. 4. As shown in FIG. 9, the results are expressed as an error rate, which indicates that the lower the error rate, the better the results, as the accuracy degradation is suppressed.

[0048] In addition, tuning of only the BN layer + the final FC layer shown as (1) in Figure 9 is tuning of the layers targeted in the conventional method described using Figure 5, for example.

[0049] In addition, the tuning of the BN layer + FC in the final layer + low-contribution neurons shown as (2) in Figure 9 is the tuning in this embodiment. Regarding (2), the part in Figure 9 where the proportion of neurons to be tuned is 0.1 is the tuning result of the BN layer + FC in the final layer + neurons with the lowest contribution (as low-contribution neurons). In the tuning results in Figure 9, when the proportion of neurons to be tuned is 0.1, i.e., when the weights of the neurons with the lowest contribution are corrected, the accuracy degradation is most suppressed, resulting in a good result.

[0050] Furthermore, as described above, when inference is performed using a trained neural network model, the machine learning device 10 obtains the contribution of each of the multiple neurons included in the neural network model to the prediction, and based on the contribution, retrains the neural network model without updating the weights of neurons among the multiple neurons whose contribution meets a predetermined criterion.

[0051] In this way, the machine learning device 10 can prevent deterioration in accuracy of the neural network model by fixing the weights of neurons that contribute highly to prediction and training the weights of neurons that contribute less.

[0052] In addition, the process of performing retraining executed by the machine learning device 10 includes a process of performing retraining of the neural network model using training data without correct answer labels, without updating the weights of neurons that are equal to or greater than a predetermined threshold based on the contribution degree.

[0053] This allows the machine learning device 10 to suppress deterioration in accuracy of the neural network model without the need for a correct answer label.

[0054] Furthermore, the process of acquiring the contribution degree executed by the machine learning device 10 includes a process of acquiring the contribution degree based on the weight for each of the multiple neurons.

[0055] This allows the machine learning device 10 to suppress deterioration in accuracy of the neural network model.

[0056] Furthermore, in the process of acquiring the contribution degree executed by the machine learning device 10, the contribution degree can be, for example, the absolute value of the weight for each of the multiple neurons. In other examples, the contribution degree can be, for example, the gradient change of the weight when attempting to overtrain a neural network model, the reciprocal of the absolute error from the average of the weights of the multiple neurons, or the like. Alternatively, the contribution degree can be a numerical value that combines the above-mentioned numerical values.

[0057] This allows the machine learning device 10 to suppress deterioration in accuracy of the neural network model.

[0058] In addition, the process of performing retraining executed by the machine learning device 10 includes a process of selecting neurons with low contribution levels from among the multiple neurons, a predetermined percentage of the total number of the multiple neurons, as low-contribution neurons, and performing retraining of the neural network model using the selected neurons with low contribution levels as training targets without updating the weights of neurons above a predetermined threshold.

[0059] This allows the machine learning device 10 to further suppress deterioration in the accuracy of the neural network model.

[0060] [System] The information, including the processing procedures, control procedures, specific names, various data, and parameters shown in the above documents and drawings, may be changed as desired unless otherwise specified. Furthermore, the specific examples, distributions, and numerical values ​​described in the embodiments are merely examples and may be changed as desired.

[0061] Furthermore, the specific form of distribution or integration of the components of the machine learning device 10 is not limited to that shown in the figure. For example, the training unit 42 of the machine learning device 10 may be distributed across multiple processing units, or the acquisition unit 41 and training unit 42 of the machine learning device 10 may be integrated into a single processing unit. That is, all or some of the components may be functionally or physically distributed or integrated in any unit depending on various loads, usage conditions, etc. Furthermore, all or any part of the processing functions of each device may be realized by a CPU (Central Processing Unit) and a program analyzed and executed by the CPU, or may be realized as hardware using wired logic.

[0062] 10 is a diagram illustrating an example of the hardware configuration of a machine learning device 10 according to this embodiment. As illustrated in FIG. 10, the machine learning device 10 includes a communication interface 10a, a hard disk drive (HDD) 10b, a memory 10c, and a processor 10d. The components illustrated in FIG. 10 are connected to each other via a bus or the like.

[0063] The communication interface 10a is a network interface card or the like, and communicates with other information processing devices. The HDD 10b stores, for example, programs and data for operating the various functions shown in FIG.

[0064] The processor 10d is a CPU, a microprocessing unit (MPU), a graphics processing unit (GPU), or the like. The processor 10d may also be implemented by an integrated circuit such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA). The processor 10d reads, for example, from the HDD 10b, a program that executes the same processes as those of the processing units shown in FIG. 7, and loads the program into the memory 10c. This allows the processor 10d to operate as a hardware circuit that executes processes that implement the functions described in FIG. 7, and the like.

[0065] Furthermore, the machine learning device 10 can also realize functions similar to those of the above-described embodiments by reading the program from a recording medium using a media reading device and executing the read program. Note that the program in these other embodiments is not limited to being executed by the machine learning device 10. For example, the above-described embodiments may also be applied to cases where an information processing device other than the machine learning device 10 executes the program, or where the machine learning device 10 and another information processing device cooperate to execute the program.

[0066] The program may be distributed via a network such as the Internet. The program may also be recorded on a computer-readable storage medium such as a hard disk, a flexible disk (FD), a CD-ROM, a magneto-optical disk (MO), or a digital versatile disk (DVD). The program may then be read from the recording medium and executed by the machine learning device 10 or the like.

[0067] REFERENCE SIGNS LIST 10 machine learning device 10a communication interface 10b HDD 10c memory 10d processor 20 communication unit 30 storage unit 31 model information 32 prediction information 40 control unit 41 acquisition unit 42 training unit 43 prediction unit

Claims

1. Obtain the contribution degree of each of the plurality of neurons included in the neural network model when inference is performed by the trained neural network model, and based on the contribution degree, without updating the weights of the neurons whose contribution degree satisfies a predetermined criterion among the plurality of neurons, execute retraining of the neural network model. A machine learning program characterized by causing a computer to execute the process.

2. The process of executing the retraining includes, based on the contribution degree, without updating the weights of neurons with a predetermined threshold or higher, using training data without correct labels, and executing retraining of the neural network model. The machine learning program according to claim 1, characterized by including the process.

3. The process of obtaining the contribution degree includes the process of obtaining the contribution degree based on the weights for each of the plurality of neurons. The machine learning program according to claim 1, characterized by including the process.

4. The process of obtaining the contribution degree includes obtaining at least any one of the absolute value of the weight for each of the plurality of neurons, the change in the weight gradient when attempting to overfit the neural network model, and the reciprocal of the absolute value error from the average of the weights of the plurality of neurons as the contribution degree. The machine learning program according to claim 3, characterized by including the process.

5. The process of executing the retraining includes selecting, from among the plurality of neurons, a number of neurons equal to a predetermined ratio of the total number of the plurality of neurons with low contribution degrees as the neurons with low contribution degrees, and using the selected neurons with low contribution degrees as training targets, without updating the weights of neurons with a predetermined threshold or higher, and executing retraining of the neural network model. The machine learning program according to claim 3 or 4, characterized by including the process.

6. A machine learning apparatus including a control unit that obtains the contribution degree of each of the plurality of neurons included in the neural network model when inference is performed by the trained neural network model, and based on the contribution degree, without updating the weights of the neurons whose contribution degree satisfies a predetermined criterion among the plurality of neurons, executes retraining of the neural network model.

7. A machine learning method executed by a computer, which acquires the contribution degree of each of a plurality of neurons included in the neural network model when inference is performed by the trained neural network model, and based on the contribution degree, executes retraining of the neural network model without updating the weights of the neurons whose contribution degree satisfies a predetermined criterion among the plurality of neurons.