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

The machine learning device addresses the challenges of labeling and frequency control in continuous learning, enhancing accuracy and reducing bias by calculating similarity and adjusting learning frequency, thus improving task inference.

JP7618917B2Active Publication Date: 2025-01-22JVC KENWOOD CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2021010177
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-01-26
Publication Date
2025-01-22
Estimated Expiration
2041-01-26

AI Technical Summary

Technical Problem

Existing machine learning techniques, such as PackNet, face challenges in providing label information for input data and controlling the frequency of data usage, leading to potential bias and catastrophic forgetting during continuous learning.

Method used

A machine learning device and method that calculates the similarity between input task feature maps and registered representative feature maps, assigns labels, and controls the frequency of input tasks for continuous learning based on similarity and frequency, using a classification unit and control units to manage the learning process.

Benefits of technology

Enables automatic labeling of input tasks and reduces the risk of bias and catastrophic forgetting by optimizing the learning frequency, thereby improving inference accuracy and maintaining data diversity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007618917000002
    Figure 0007618917000002
  • Figure 0007618917000003
    Figure 0007618917000003
  • Figure 0007618917000004
    Figure 0007618917000004
Patent Text Reader

Abstract

To provide a machine learning technology which can give label information to input data, and control a frequency in which the input data is used for learning.SOLUTION: A classification unit 86 of a screening unit 80 in a screening processing unit 20 calculates a similarity degree between a feature map of an input task and a representative feature map of each task registered in advance, and assigns a label which the task having the highest similarity degree has to the input task. A learning frequency control unit 96 of a learning control unit 90 in the screening processing unit 20 determines whether or not the input task is used for continued learning on the basis of a frequency in which the task with the similarity degree of the input task is used for learning or the similarity degree of the input task. A continued learning unit 40 performs the continued learning by assuming the input task to which the label is assigned to be teacher data, when the input task is used for the continued learning.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

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

[0002] Humans can learn new knowledge through long-term experience and can retain old knowledge without forgetting it. On the other hand, the knowledge of a Convolutional Neural Network (CNN) depends on the dataset used for training, and in order to adapt to changes in the data distribution, the parameters of the CNN must be retrained for the entire dataset. As CNN learns new tasks, its estimation accuracy for old tasks decreases. Thus, when CNN performs continuous training, it is inevitable that it will suffer from catastrophic forgetting, in which the learning results of old tasks are forgotten while learning a new task.

[0003] Incremental learning or continual learning has been proposed as a method to avoid fatal forgetting. PackNet is one of the continual learning methods.

[0004] Patent Document 1 discloses an information processing system that creates training data by assigning labels to images that are similar to an input verification image, and trains a supervised image classifier using the created training data. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] JP 2017-111731 A Summary of the Invention [Problem to be solved by the invention]

[0006] PackNet, one of the continuous learning methods, can avoid the fatal forgetting problem. However, there is a problem that if the input data does not have label information, it cannot be used for continuous learning. Also, if the frequency of using input data for learning is not controlled, bias in learning may occur.

[0007] The present invention has been made in consideration of these circumstances, and its purpose is to provide a machine learning technique that can assign label information to input data and control the frequency with which the input data is used for learning. [Means for solving the problem]

[0008] In order to solve the above problem, a machine learning device of one embodiment of the present invention includes a classification unit that calculates the similarity between a feature map of an input task and a representative feature map of each task registered in advance, and assigns the label of the task with the highest similarity to the input task, a control unit that decides whether to use the input task for continued learning, and a continuous learning unit that, if the input task is to be used for continued learning, performs continuous learning using the labeled input task as training data.

[0009] Another aspect of the present invention is a machine learning method, which includes a classification step of calculating a similarity between a feature map of an input task and a representative feature map of each task registered in advance and assigning a label of a task with the highest similarity to the input task, a control step of determining whether or not to use the input task for continuous learning, and a continuous learning step of performing continuous learning using the labeled input task as training data if the input task is to be used for continuous learning.

[0010] Any combination of the above components, and any transformation of the present invention into a method, device, system, recording medium, computer program, etc., are also effective as aspects of the present invention. Effect of the Invention

[0011] According to the present invention, it is possible to provide a machine learning technique that can assign label information to input data and control the frequency with which the input data is used for learning. [Brief description of the drawings]

[0012] [Figure 1] FIG. 1 is a configuration diagram of a machine learning device according to an embodiment. [Diagram 2] FIG. 2 is a configuration diagram of a screening processing unit in FIG. [Diagram 3] FIG. 3 is a configuration diagram of the screening unit in FIG. 2. [Figure 4] FIG. 3 is a configuration diagram of a learning control unit in FIG. 2. [Diagram 5] FIG. 2 is a block diagram of a task storage unit in FIG. 1. [Figure 6] FIG. 2 is a diagram showing the configuration of a task database in FIG. 1. [Figure 7] 2 is a flowchart illustrating a continuous learning procedure by the machine learning device of FIG. 1. [Figure 8] FIG. 1 is a diagram illustrating a feature map output from each convolutional layer of a convolutional neural network. [Figure 9] FIG. 1 is a diagram illustrating the concatenation of feature maps output from each convolutional layer of a convolutional neural network. [Figure 10] FIG. 11 is a diagram illustrating a method for generating a concatenated feature map by adding feature maps with different numbers of channels. [Figure 11] FIG. 13 is a diagram illustrating a method for generating a concatenated feature map by adding feature maps that differ in both the number of channels and the size. [Figure 12] FIG. 1 illustrates a method for combining feature maps to generate a concatenated feature map. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] 1 is a configuration diagram of a machine learning device 100 according to an embodiment. The machine learning device 100 includes an input unit 10, a screening processing unit 20, a task storage unit 30, a continuous learning unit 40, a task database 50, an inference unit 60, and an output unit 70.

[0014] The input unit 10 supplies the tasks to be labeled to the screening processing unit 20 and supplies the unknown tasks to the inference unit 60. Here, the tasks are image recognition as an example. For example, task 1 is recognizing a specific object in an image, such as recognizing a cat, and task 2 is recognizing a dog.

[0015] The screening processing unit 20 compares the feature map of the input task with the representative feature maps of tasks registered in the task database 50 to calculate the similarity, classifies the input task as the task with the highest similarity, and determines whether or not to use the input task for continued learning based on at least one of the frequency with which tasks having a similarity to the input task have been used for learning and the similarity.

[0016] When the input image of the task is input to a neural network model, which is an object recognition model, a feature map is output. If the feature map of the input image is similar to the feature map of a cat, for example, the input image is recognized as an image of a cat and is labeled as a cat.

[0017] Here, the task does not recognize an object using only one feature map, but uses multiple feature maps to recognize the object. Therefore, the similarity is calculated by comparing a representative value such as the average value of the multiple feature maps of the task with the feature map of the input task.

[0018] The similarity is calculated by comparing the absolute values ​​of the elements of the feature maps. For example, if the size of the feature map is 256 x 256, the absolute values ​​of 65,536 elements are compared. A threshold is set here. If the similarity exceeds the threshold, the two feature maps are determined to be overlapping.

[0019] Each element of feature map A is aij , each element of feature map B is b ij In this case, the difference in absolute values ​​of the values ​​at the same position between two feature maps A and B is, for example, d 1 (A,B), d 2 (A,B), d ∞ (A,B), d m Calculate as (A,B).

number

[0020] In the above description, the similarity between feature maps is calculated by calculating the difference between the absolute values ​​of values ​​at the same position between two feature maps, but the similarity may be calculated by other methods. For example, for each feature map, the feature map absolute difference sum SAD is calculated as the sum of the horizontal absolute difference sum SAD_H and the vertical absolute difference sum SAD_V, and SAD=SAD_H+SAD_V. If the difference between the feature map absolute difference sum SAD_A of feature map A and the feature map absolute difference sum SAD_B of feature map B is smaller than a threshold, the feature maps A and B may be determined to be overlapping. Here, for the sake of simplicity, assuming that the size of the feature map is 3×3, the elements of the first row of the feature map are a1, a2, a3, the elements of the second row are a4, a5, a6, and the elements of the third row are a7, a8, a9, the horizontal absolute difference sum SAD_H and the vertical absolute difference sum SAD_V are given by the following equations. SAD_H=|a1-a2|+|a2-a3|+|a4-a5|+|a5-a6|+|a7-a8|+|a8-a9| SAD_V=|a1-a4|+|a2-a5|+|a3-a6|+|a4-a7|+|a5-a8|+|a6-a9| As another method for calculating the similarity, a comparison of Euclidean distance or cosine distance may be used.

[0021] The task storage unit 30 updates the task database 50 with the classified input tasks, and controls whether to provide the classified input tasks to the continuous learning unit 40 based on at least one of the frequency and the similarity. For example, if the frequency of the classified input task is less than the average frequency of the tasks registered in the task database 50, or if the similarity of the classified input task is less than a predetermined threshold, the classified input task is used for continuous learning, but if the frequency of the classified input task is equal to or greater than the average frequency, or if the similarity of the classified input task is equal to or greater than a predetermined threshold, the classified input task is not used for continuous learning. Here, the frequency of the input task is evaluated, for example, by the number of times the input task has been learned, or a relative index obtained by comparing the number of times the input task has been used with the number of times other tasks registered in the task database 50 have been used, or the like.

[0022] When the continuous learning unit 40 receives the classified input tasks from the task storage unit 30, the continuous learning unit 40 continuously learns the object recognition model using the classified input tasks as supervised data.

[0023] The inference unit 60 uses the object recognition model learned by the continuous learning unit 40 to infer the classification of the unknown task received from the input unit 10. The output unit 70 outputs the inference result by the inference unit 60.

[0024] Fig. 2 is a configuration diagram of the screening processing unit 20 of Fig. 1. The screening processing unit 20 includes a screening unit 80 and a learning control unit 90.

[0025] The screening unit 80 compares the representative feature map of each task read from the task database 50 with the feature map of the input task, classifies the input task into the most similar task, and assigns label information to the input task. The screening unit 80 supplies the label information and similarity of the input task to the learning control unit 90, and supplies the feature map of the input task to the task storage unit 30.

[0026] The learning control unit 90 determines whether to provide the input task to the continuous learning unit 40 based on the frequency with which tasks having the same similarity as the input task have been learned.

[0027] 3 is a configuration diagram of the screening unit 80. The screening unit 80 includes a representative feature map acquisition unit 82, a feature map conversion unit 84, and a classification unit 86.

[0028] The representative feature map acquisition unit 82 reads out the representative feature map of each task from the task database 50 and supplies it to the classification unit 86. The feature map conversion unit 84 calculates the feature map of the input task and supplies it to the classification unit 86. The classification unit 86 calculates the similarity between the feature map of the input task and the representative feature map of each task in the task database 50, classifies the input task into the task with the highest similarity, and assigns a label to the input task. The classification unit 86 supplies the label and similarity of the input task to the learning control unit 90, and supplies the feature map of the input task to the task storage unit 30.

[0029] 4 is a configuration diagram of the learning control unit 90. The learning control unit 90 includes a frequency information acquisition unit 92, a similarity information acquisition unit 94, and a learning frequency control unit 96.

[0030] The frequency information acquisition unit 92 acquires the frequency at which a task with the same label and the same similarity as the input task is learned from the task database 50, and supplies the frequency information acquisition unit 92 to the learning frequency control unit 96. The similarity information acquisition unit 94 supplies the similarity of the input task to the learning frequency control unit 96. In addition, the frequency information acquisition unit 92 supplies the frequency to the task storage unit 30, and the similarity information acquisition unit 94 supplies the similarity to the task storage unit 30.

[0031] The learning frequency control unit 96 determines whether or not to use the input task for continued learning based on at least one of the frequency and the similarity, and notifies the task storage unit 30 of the presence or absence of continued learning.

[0032] In continuous learning, the learning results are highly dependent on the order of the learning data, and if there is a bias in the way the learning data is given, the results will be significantly affected. In order to maintain the diversity of the learning data, the frequency with which tasks with the same similarity are learned is measured, and the frequency distribution of the learning data is made uniform.

[0033] The learning frequency control unit 96 uses the input task for continuous learning if the learning frequency of the input task is lower than the average learning frequency of each task registered in the task database 50, or if the similarity of the input task is lower than a predetermined threshold. This is because the inference accuracy of the entire task can be improved without bias by actively using tasks with low learning frequency or low similarity for continuous learning.

[0034] For example, if cat images are frequently learned and the recognition of cats is already sufficiently accurate, relearning the input cat images will result in biased learning. Therefore, by preventing extra learning after sufficient learning, the number of times of learning with other tasks is made equal, reducing the risk of fatal forgetting. Conversely, if the learning frequency of dog images is low compared to other tasks, the number of times of learning with other tasks is made equal by continuing to learn the input dog images.

[0035] 5 is a configuration diagram of the task storage unit 30. The task storage unit 30 includes an update determination unit 32, and performs update determination for tasks registered in the task database 50.

[0036] The update determination unit 32 updates the tasks registered in the task database 50 as necessary based on the feature map, similarity, frequency, and whether or not continuous learning is performed. The learning frequency of a task is stored for each similarity, and the frequency information is updated each time. The representative feature map of a task is updated using the feature map of an input task provided for continuous learning. Input tasks that are not provided for continuous learning are ignored and are not used to update the representative feature map.

[0037] The task storage unit 30 supplies the presence or absence of continuous learning to the continuous learning unit 40. The continuous learning unit 40 refers to the presence or absence of continuous learning, and if the input task is to be used for continuous learning, the input task is used as teacher data for continuous learning, but if the input task is not to be used for continuous learning, the input task is ignored.

[0038] 6 is a diagram showing the configuration of a task database 50. The task database 50 stores a representative feature map 52 and a frequency 54 for each task. Here, the representative value of the feature map of a task is, for example, the average value, median value, mode value, maximum value, minimum value, etc. of multiple feature maps of the task.

[0039] FIG. 7 is a flowchart illustrating a continuous learning procedure by the machine learning device 100 of FIG.

[0040] The input unit 10 inputs a task with an unknown label and provides it to the screening processing unit 20 (S10).

[0041] In the screening processing unit 20, the classification unit 86 of the screening unit 80 classifies the input task based on the similarity between the feature map of the input task and the representative feature map of each task registered in the task database 50, and assigns a label to the input task (S20).

[0042] In the screening processing unit 20, the learning frequency control unit 96 of the learning control unit 90 determines whether or not to use an input task for continuous learning based on at least one of the frequency and similarity of the input task (S30).

[0043] The update determination unit 32 of the task storage unit 30 updates the frequency associated with the similarity in the task database 50, and, if the input task is used for continuous learning, updates the representative feature map of the task registered in the task database 50 using the feature map of the input task (S40).

[0044] If the input task is to be used for continued learning (Y in S50), the continued learning unit 40 continues to learn the object recognition model using the labeled input task (S60); if the input task is not to be used for continued learning (N in S50), the input task is ignored and the process proceeds to step S70.

[0045] If there are still tasks (N in S70), the process returns to step S10 and the next task is input. If the task has been completed (Y in S70), the continuous learning ends.

[0046] The feature maps described in the above embodiments will be described in detail with reference to FIGS.

[0047] Fig. 8 is a diagram for explaining feature maps output from each convolution layer of a convolutional neural network. In this embodiment, the feature map refers to the output data of the convolution layer when input data is input to the convolutional neural network. As shown in Fig. 8, there are two types of feature maps: intermediate output data of the convolution layer of each layer, and final output data of the convolution layer of the final layer.

[0048] FIG. 9 is a diagram for explaining the concatenation of feature maps output from each convolution layer of a convolutional neural network. When acquiring a feature map of input data, some features may be overlooked if only the feature map output from the convolution layer of the final layer is used. Therefore, as shown in FIG. 9, it is more preferable to create a feature map of input data by concatenating the feature map output from the convolution layer of the intermediate layer as required and the final feature map output from the convolution layer of the final layer. For example, the feature map 2 of layer 2 and the final feature map of the final layer are concatenated. The feature map 2 of layer 2, the feature map 5 of layer 5, and the final feature map of the final layer are concatenated. As described above, there are various combinations, which can be used according to the purpose.

[0049] FIG. 10 is a diagram explaining a method for generating a concatenated feature map by adding feature maps with different numbers of channels. Here, a case will be explained in which a feature map 2 with 64 channels and a size of 256×256 is concatenated with a feature map 4 with 128 channels and a size of 256×256. In order to unify the number of channels, that is, to make the number of channels of the feature map 2 the same as that of the feature map 4, a convolutional layer is placed after the feature map 2. The number of input channels of this convolutional layer is 64, the number of output channels is 128, and the size of the filter is 1×1. When the feature map 2 is input to this convolutional layer, the size of the new feature map 2 output from the convolutional layer does not change, but the number of channels is converted to 128. In other words, the new feature map 2 has 128 channels and a size of 256×256. By adding the new feature map 2 and feature map 4 with the unified number of channels, a concatenated feature map with 128 channels and a size of 256×256 is generated.

[0050] FIG. 11 is a diagram for explaining a method for generating a feature map by adding and concatenating feature maps with different numbers of channels and sizes. Here, a case will be explained where a feature map 2 with 64 channels and a size of 256×256 is concatenated with a feature map 4 with 128 channels and a size of 64×64. To unify the number of channels, that is, to make the number of channels of the feature map 2 the same as that of the feature map 4, the number of channels of the feature map 2 is increased by zero padding. This is to fill the values ​​of the added channels with zeros. As a result, the number of channels of the feature map 2 is converted to 128. After that, to unify the sizes, that is, to make the size of the feature map 2 the same as that of the feature map 4, the feature map 2 is downsampled. This is realized by pooling with a stride of 4. Examples of pooling include maximum pooling, which outputs the maximum value, and average pooling, which outputs the average value. However, pooling is not limited to these, and other methods may be used. As a result, a new feature map 2 with 128 channels and a size of 64×64 is obtained. By adding new feature map 2 and feature map 4, which have the same number of channels and size, a concatenated feature map with 128 channels and a size of 64 × 64 is generated. Note that in order to make the number of channels of feature map 2 the same as that of feature map 4, a method of placing a convolution layer after feature map 2 described in Figure 10 may be adopted.

[0051] FIG. 12 is a diagram for explaining a method of generating a concatenated feature map by combining feature maps. Here, a case will be explained in which a feature map 2 with 64 channels and a size of 256×256 is concatenated with a feature map 4 with 128 channels and a size of 64×64. Since the feature maps have different sizes, the feature map 2 is downsampled to unify the sizes, that is, to make the size of the feature map 2 the same as that of the feature map 4. This is achieved by pooling with a stride of 4. As a result, a new feature map 2 with 64 channels and a size of 64×64 is obtained. By concatenating the new feature map 2 and the feature map 4 with different numbers of channels and the same size, a concatenated feature map with 192 channels and a size of 64×64 is generated. Note that feature maps can be concatenated as a 3D tensor even if the number of channels is different, as long as they have the same size. For example, if the dimensions of feature map A are [64 x 64 x 64] and the dimensions of feature map B are [128 x 64 x 64] (if the size of the feature map is [H x W], the dimensions of the feature map are expressed as [number of channels x H x W]), when feature map A and feature map B are combined, if the sizes H x W are the same, the dimensions of the combined feature map will be [(number of channels A + number of channels B) x H x W] = [(64 + 128) x 64 x 64] = [192 x 64 x 64].

[0052] In Fig. 12, the feature maps are merged after the sizes are unified, but it is also possible to merge feature maps with the same number of channels but different sizes. For example, when feature map A with 64 channels and size 64x64 is merged with feature map B with 64 channels and size 128x64, a concatenated feature map with 64 channels and size 192x64 is generated. In general, when the size of a feature map is mxn and only one of m or n is the same between two feature maps, the two feature maps can be merged. When feature map A has a size of mxn 1 and the size of feature map B is m × n 2Then, by aligning the rows and arranging each element of feature map B to the left of each element of feature map A, the size becomes m × (n 1 +n 2 ) can be generated. If the size of feature map A is m 1 ×n, and the size of feature map B is m 2 × n, we can align the columns and arrange the elements of feature map B under the elements of feature map A to reduce the size to (m 1 +m 2 )×n concatenated feature maps can be generated.

[0053] When calculating the similarity between the input task feature map concatenated in this way and the representative feature maps of each task registered in advance, the number of channels and the size may differ. In this case, it is necessary to make both the number of channels and the size uniform by using the two concatenation methods shown in Figures 10 and 11.

[0054] The various processes of the machine learning device 100 described above can be realized not only as a device using hardware such as a CPU and a memory, but also as firmware stored in a ROM (read-only memory) or a flash memory, or as software for a computer, etc. The firmware program or software program can be provided by recording it on a recording medium readable by a computer, etc., or can be transmitted and received with a server via a wired or wireless network, or can be transmitted and received as a data broadcast of terrestrial or satellite digital broadcasting.

[0055] As described above, the machine learning device 100 of this embodiment can automatically label input tasks based on feature maps. In addition, by determining whether to use an input task for continuous learning based on the learning frequency or similarity of the input task, it is possible to suppress bias in learning and reduce the risk of fatal forgetting.

[0056] The present invention has been described above based on the embodiments. The embodiments are merely examples, and it will be understood by those skilled in the art that various modifications are possible in the combination of each component and each treatment process, and that such modifications are also within the scope of the present invention. [Explanation of symbols]

[0057] 10 input unit, 20 screening processing unit, 30 task storage unit, 32 update determination unit, 40 continuous learning unit, 50 task database, 52 representative feature map, 54 frequency, 60 inference unit, 70 output unit, 80 screening unit, 82 representative feature map acquisition unit, 84 feature map conversion unit, 86 classification unit, 90 learning control unit, 92 frequency information acquisition unit, 94 similarity information acquisition unit, 96 learning frequency control unit, 100 machine learning device.

Claims

1. a classification unit that calculates a similarity between a feature map of an input task and a representative feature map of each task registered in advance, and assigns a label of a task having the highest similarity to the input task; a control unit that determines whether the input task is used for continuous learning; a continuous learning unit that performs continuous learning using the labeled input task as training data when the input task is used for continuous learning, The control unit determines whether to use the input task for further learning based on the frequency with which a task having a representative feature map that has the highest similarity to the feature map of the input task has been used for learning.

2. The machine learning device according to claim 1 , wherein the control unit uses the input task for continuous learning when the frequency is less than a predetermined threshold.

3. a classification step of calculating a similarity between a feature map of an input task and a representative feature map of each task registered in advance, and assigning a label of a task having the highest similarity to the input task; a control step of determining whether the input task is to be used for further learning; and a continuous learning step of performing continuous learning using the labeled input task as training data when the input task is used for continuous learning, A machine learning method executed by a computer, characterized in that the control step determines whether to use the input task for further learning based on the frequency with which a task having a representative feature map that is most similar to the feature map of the input task has been used for learning.

4. a classification step of calculating a similarity between a feature map of an input task and a representative feature map of each task registered in advance, and assigning a label of a task having the highest similarity to the input task; a control step of determining whether the input task is to be used for further learning; a continuous learning step of performing continuous learning using the labeled input task as training data when the input task is used for continuous learning; A machine learning program characterized in that the control step determines whether to use the input task for continued learning based on the frequency with which a task having a representative feature map that has the highest similarity to the feature map of the input task has been used for learning.

Citation Information

Patent Citations

  • Classification of sample data

    JP2011520183A

  • Information processing system, information processing method, and program

    JP2017111731A

  • Machine learning device

    JP2017224184A

  • Model learning device, model learning method, and program

    WO2019138655A1