Machine learning equipment, machine learning methods, and machine learning programs

The proposed machine learning technique addresses overfitting in incremental learning by using a pre-training and pseudo-continuous learning module to enhance generalization performance and maintain classification accuracy with limited data for new classes.

JP2026058873APending Publication Date: 2026-04-06JVC KENWOOD CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024166663
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-25
Publication Date
2026-04-06

AI Technical Summary

Technical Problem

Existing incremental learning methods, such as SaB and IFSL, face challenges in suppressing overfitting when applying IFSL to SaB due to the influence of a small number of samples for new classes, leading to decreased generalization performance and classification accuracy.

Method used

A machine learning technique that includes a pre-training module, a pseudo-continuous learning module, and a new class learning module, where the neural network is divided into a lower and upper layer, with the upper layer further divided into basic and new classification output units, and weights are updated based on specific loss calculations to minimize overfitting.

Benefits of technology

This approach effectively suppresses overfitting of new knowledge, improving generalization performance and maintaining classification accuracy even with limited data for new classes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026058873000001_ABST
    Figure 2026058873000001_ABST
Patent Text Reader

Abstract

This provides a machine learning technique that can suppress overfitting of new knowledge when applying IFSL to SaB. [Solution] This disclosure provides a machine learning device 100 that performs continuous learning based on a small number of new class data compared to basic class data, comprising: a pre-training module 30 that learns the weights of a neural network (NN) using basic class data; a pseudo-continuous learning module 40 that learns the weights of the NN learned by the pre-training module 30 using pseudo-data generated based on the basic class data; and a new class learning module 50 that learns the weights of the NN learned by the pseudo-continuous learning module 40 using basic class and new class data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to machine learning technology.

Background Art

[0002] Humans can learn new knowledge through long-term experience and can maintain their old knowledge without forgetting it. On the other hand, the knowledge of neural networks depends on the dataset used for learning, and in order to adapt to changes in the data distribution, it is necessary to relearn the parameters of the neural network for the entire new dataset with a changed data distribution.

[0003] As a more efficient and practical method, there is a method called incremental learning (or continual learning) that learns new tasks while reusing the already acquired knowledge. In particular, incremental learning in a classification task is a method that enables learning and classification of new classes (novel classes) from a state where basic classes (classes learned in the past) can be classified.

[0004] On the other hand, in deep learning, there is a phenomenon called catastrophic forgetting in which the knowledge acquired in the past is significantly lost and the task performance is significantly degraded, and this is particularly problematic in incremental learning. In incremental learning in a classification task, the biggest challenge is to suppress catastrophic forgetting and maintain the classification performance of basic classes while acquiring the classification performance of novel classes.

[0005] On the other hand, new tasks often only have access to a small amount of sample data, so few-shot learning has been proposed as a method for efficiently learning with limited training data. In few-shot learning, the new task is learned using a different small amount of parameters, without retraining parameters that have already been learned. Normally, learning requires thousands of samples or more across all classes, but in few-shot learning, learning is performed with only a small number of samples per class (for example, just a few samples).

[0006] Furthermore, Class Incremental Learning (CIL), a method that enables the classification of new classes by further training a model that has already been trained on a base class, has been proposed. In CIL, tasks are continuously added to a pre-trained class classification model, and the classification performance of new classes and past classes is required for each new task. Typically, the training data for new tasks is big data.

[0007] A method called incremental few-shot learning (IFSL) has been proposed (Non-Patent Literature 1), which combines continuous learning, where new classes are learned based on the learning results of the base class, with small-shot learning, where new classes are learned with fewer data samples per class compared to the base class. In continuous few-shot learning, the base class can be learned from a large dataset, while the new class can be learned from a small amount of sample data. IFSL is an incremental learning scenario for classification similar to CIL, but it differs significantly in that the learning data for the new task is small.

[0008] As one method of continuous learning in classification learning, SaB (Split-and-Bridge) has been proposed (see, for example, Non-Patent Document 2). SaB achieves high adaptability to new classes and suppression of forgetting past knowledge while suppressing the increase in network size. SaB consists of a split phase in which the network is divided into partitions for past knowledge and new knowledge and learning is performed, and a bridge phase in which the network is then rejoined and learning is performed. In the split phase, the lower layer of the network is shared by past knowledge and new knowledge, and the upper layer of the network is divided and allocated to past knowledge and new knowledge respectively, so that past knowledge and new knowledge are acquired separately in local space (learning is performed simultaneously). In the bridge phase, the divided network is rejoined to learn integrated knowledge of the base class and the new class. [Prior art documents] [Non-patent literature]

[0009] [Non-Patent Document 1] Zhang, C., Song, N., Lin, G., Zheng, Y., Pan, P., & Xu, Y. (2021). “Few-shot incremental learning with continually evolved classifiers.” In Proceedings of the IEEE / CVF Conference on Computer Vision and Pattern Recognition (pp. 12455-12464). [Non-Patent Document 2] Jong-Yeong Kim, Dong-Wan Choi. (2021). “Split-and-Bridge: Adaptable Class Incremental Learning within a Single Neural Network.” In Proceedings of the AAAI Conference on Artificial Intelligence (pp. 8137-8145). [Overview of the project] [Problems that the invention aims to solve]

[0010] In SaB, the weights for new knowledge are newly learned based on data samples of the new class. In IFSL, learning in incremental tasks is performed with a small number of samples, but because the influence of a single sample is strong, there is a possibility that the information as a whole will be biased. Therefore, when applying IFSL to an architecture like SaB, where past knowledge and new knowledge share part of the network and the network weights are updated overall, the number of data samples for the new class will be small, and there is a high possibility of overfitting to the new knowledge due to learning from that small amount of data.

[0011] In light of the above issues, the purpose of this disclosure is to provide a machine learning technique that can suppress overfitting of new knowledge when IFSL is applied to SaB. [Means for solving the problem]

[0012] To solve the above problems, a machine learning device in one aspect of the present disclosure is a machine learning device that performs continuous learning based on a small number of new class data compared to basic class data, comprising: a pre-training module that learns the weights of a neural network using the basic class data; a pseudo-continuous learning module that learns the weights of the neural network learned by the pre-training module using pseudo-data generated based on the basic class data; and a new class learning module that learns the weights of the neural network learned by the pseudo-continuous learning module using the basic class data and the new class data, wherein the new class learning module takes the neural network learned by the pseudo-continuous learning module as input and outputs a value The neural network is divided into a lower neural network and an upper neural network located on the output side of the lower neural network. The upper neural network is further divided into a basic classification output unit that takes the output values ​​of the lower neural network based on the basic class data and the new class data as input and outputs a basic classification which is a classification based on the basic class data and the new class data, and a new classification output unit that takes the output values ​​of the lower neural network based on the new class data as input and outputs a new classification which is a classification based on the new class data. The neural network is divided into a lower neural network and an upper neural network located on the output side of the lower neural network.

[0013] A machine learning method in one aspect of the present disclosure is a machine learning method that performs continuous learning based on a small number of novel class data compared to basic class data, comprising: a pre-training step of learning the weights of a neural network using the basic class data; a pseudo-continuous learning step of learning the weights of the pre-trained neural network using pseudo-data generated based on the basic class data; and a novel class learning step of learning the weights of the neural network learned in the pseudo-continuous learning step using the basic class data and the novel class data, wherein the novel class learning step is a neural network lower layer that takes the basic class data and the novel class data as input and outputs values The method comprises the steps of: dividing the neural network into an upper neural network located on the output side of the lower neural network; dividing the upper neural network into a basic classification output unit which takes the output value of the lower neural network based on the basic class data and the new class data as input and outputs a basic classification which is a classification based on the basic class data and the new class data; and a new classification output unit which takes the output value of the lower neural network based on the new class data as input and outputs a new classification which is a classification based on the new class data; calculating the loss of the basic classification based on the basic classification; and updating the weights of the neural network based on the loss of the basic classification.

[0014] Furthermore, any combination of the above components, as well as any conversion of the expressions of this disclosure between methods, apparatus, systems, recording media, computer programs, etc., are also valid as aspects of this disclosure. [Effects of the Invention]

[0015] According to this disclosure, it is possible to provide a machine learning technique that can suppress overfitting of new knowledge when IFSL is applied to SaB.

Brief Description of the Drawings

[0016] [Figure 1] It is a diagram for explaining the configuration of the pre - learning module. [Figure 2] It is a diagram illustrating the configuration of a normal NN. [Figure 3] It is a diagram illustrating the configuration of the NN used in the split phase of SaB. [Figure 4] It is a functional block diagram for explaining the configuration of the conventional novel class learning module used in the split phase of SaB. [Figure 5] It is a functional block diagram for explaining the configuration of the conventional novel class learning module used in the bridge phase of SaB. [Figure 6] It is a diagram illustrating the learning process in the machine learning device of the first embodiment. [Figure 7] It is a functional block diagram for explaining the configuration of the pseudo - continuous learning module. [Figure 8] It is a functional block diagram for explaining the configuration of the novel class learning module of the first embodiment used in the split phase of SaB.

Modes for Carrying Out the Invention

[0017] First, an overview of SaB, which is the prior art, will be described. In SaB, class classification is performed using a general neural network (hereinafter sometimes referred to as "NN") model.

[0018] First, in the basic task of incremental learning, the classification of the basic classes is pre - learned using big data with an NN. FIG. 1 is a diagram for explaining the configuration of the pre - learning module 30. The pre - learning module 30 includes the NN 32 and the weights Θt of the NN 32.

[0019] The dataset 10 of the basic class contains N samples. An example of a sample is an image, but it is not limited to this. NN32 is a neural network that pre-learns the dataset 10 of the basic class. NN32 has weights Θt.

[0020] In the incremental task of incremental learning in SaB, learning is performed in the split phase based on the learned weights, and the weights after that learning are further learned in the bridge phase.

[0021] The purpose of the split phase is to learn the past knowledge (basic class) in the local space that classifies only the past classes of past tasks for the current incremental task and the new knowledge (new class) in the local space that classifies only the new classes of the current incremental task. Therefore, in the split phase, the upper layer of NN32 is divided into two partitions: a part that uses the weights θo for learning the basic class and a part that uses the weights θn for learning the new class. In the lower layer of NN32, the weights θs are shared for both the basic class and the new class. At this time, the basic class calculates the loss using <θs, θo>, the new class calculates the loss using <θs, θn>, and learning is performed based on the combined loss of each loss.

[0022] Figure 2 is a diagram illustrating the configuration of a normal NN32. As shown in Figure 2, in a normal NN, all nodes between adjacent layers are connected, the output value is passed from the nodes on the input layer side to the nodes on the output layer side, and the final output is output from the output layer. This final output is converted into probability values by a function such as the softmax function.

[0023] Figure 3 illustrates the configuration of the NN32 used in the split phase of SaB. As shown in Figure 3, SaB sets up an NN lower layer 110 consisting of one or more input layers in the NN32, and an NN upper layer 120 consisting of one or more output layers from the NN lower layer 110. The total weight of the NN32 is Θt, of which the weight θs is used in the NN lower layer 110, and the two divided basic classification weights θo and the new classification weight θn are used in the NN upper layer 120. The NN upper layer 120 includes a basic classification output unit 121 that uses the basic classification weight θo, and a new classification output unit 122 that uses the new classification weight θn. Here, before the split phase, preprocessing is performed to sparse the weights to be cut in the split phase. The nodes of the basic classification output unit 121 and the nodes of the new classification output unit 122 are not connected, and there is no propagation between these nodes. As a method for setting up the lower layer of the NN 110 with weights θs, the basic class classification output unit 121 with weights θo, and the new class classification output unit 122 with weights θn, based on a pre-trained NN32 with weights Θt, for example, the method described in Non-Patent Literature 2 can be used.

[0024] Figure 4 is a functional block diagram illustrating the configuration of a conventional new class learning module 50 used in the split phase of SaB. The new class learning module 50 in Figure 4 represents the state before training on an incremental task. Dataset 1 includes the base class rehearsal data 15 and the new class dataset 20. The base class rehearsal data 15 is a subset of the base class dataset 10 and contains n samples (N>n). The new class dataset 20 contains k samples. An example of a sample is an image, but it is not limited to images.

[0025] The conventional new class learning module 50 in the split phase includes a pre-trained NN32s with a base class, an NN splitting unit 105s, a first loss calculation unit 130s, and a first update unit 140s. The pre-trained NN32s includes an NN lower layer 110s and an NN upper layer 120s.

[0026] The NN splitting unit 105s splits the trained NN32s into a lower NN layer 110s and an upper NN layer 120s. The NN splitting unit 105s also splits the upper NN layer 120s into a basic classification output unit 121s using weight θo and a new classification output unit 122s using weight θn. The NN splitting unit 105s splits the trained NN32 into a lower NN layer 110s, a basic classification output unit 121s, and a new classification output unit 122s, for example, using the method described in Non-Patent Document 2.

[0027] The lower layer 110s of the neural network takes data from the base class and data from the new class as input, and outputs values ​​using the weights θs for both the base class data and the new class data.

[0028] As described above, in SaB, the upper layer 120s of the NN includes a basic classification output unit 121s that uses weight θo and a new classification output unit 122s that uses weight θn. The basic classification output unit 121s takes the output values ​​of the lower layer 110s of the NN based on basic class and new class data as input and outputs a classification based on the basic class and new class data (hereinafter referred to as basic classification) using weight θo. The new classification output unit 122s takes the output values ​​of the lower layer 110s of the NN based on new class data as input and outputs a classification based on the new class data (hereinafter referred to as new classification) using weight θn.

[0029] The first loss calculation unit 130s receives the basic classification and new classification from the NN upper layer unit 120s, calculates the knowledge distillation loss Lkd based on the basic classification, and calculates the cross-entropy loss Llce based on the new classification.

[0030] The first update unit 140s receives the knowledge distillation loss Lkd and the cross-entropy loss Llce from the first loss calculation unit 130s and updates the weights θs, θo, and θn based on the loss obtained by adding the knowledge distillation loss Lkd and the cross-entropy loss Llce. In updating the weights θs, θo, and θn, the weights θs, θo, and θn of the NN lower layer 110s are updated to reduce the sum of the knowledge distillation loss Lkd and the cross-entropy loss Llce. For example, the method described in Non-Patent Document 2 is used as the method for calculating the class classification loss in the first loss calculation unit 130s and the update method in the first update unit 140s.

[0031] The series of processes in the above split phase are repeatedly executed according to the number of epochs, which is defined as a hyperparameter.

[0032] In the bridge phase, the goal is to learn integrated knowledge to classify all past and new classes of the current incremental task. This integrated knowledge is learned using the weights θs, θo, and θn updated in the split phase. In the bridge phase, nodes that were not connected between the basic class classification output unit 121s and the new class classification output unit 122s in Figure 3 are connected, and learning takes place in the state of a normal neural network as shown in Figure 2.

[0033] Figure 5 is a functional block diagram illustrating the configuration of the conventional new class learning module 50 used in the bridge phase of SaB. Here, we will omit any overlapping points with the explanation of the configuration of the conventional new class learning module 50 used in the split phase of SaB, and focus only on the differences.

[0034] In the bridge phase, the conventional new class learning module 50 includes a pre-trained NN32b trained in the split phase, a second loss calculation unit 130b, and a second update unit 140b. In the bridge phase, the pre-trained NN32b uses the classifier weights trained in the pre-trained NN32s, i.e., the weights θs, θo, and θn updated by the first update unit 140s in the split phase, as initial values. The pre-trained NN32b includes a lower NN layer 110b that uses the weight θs updated in the split phase, and an upper NN layer 120b that uses a weight θp which is an integrated weight of the weights θo and θn updated in the split phase.

[0035] The trained NN32b takes data from the base class and data from the new class as input and outputs a classification based on the base class and new class data (hereinafter referred to as integrated classification) using weights θs and θp. The data input to the trained NN32b is the same data used in the split phase. The trained NN32b has the same number of layers and nodes as the trained NN32s, and corresponds to a configuration in which all nodes of adjacent layers are connected in the base classification output section 121s and new classification output section 122s of the trained NN32s. The NN lower layer 110b of the trained NN32b has the same number of layers and nodes as the NN lower layer 110s of the trained NN32s. The upper layer 120b of the pre-trained NN32b has the same number of layers and nodes as the upper layer 120s of the pre-trained NN32s, and corresponds to a configuration in which all nodes of adjacent layers in the basic classification output unit 121s and the new classification output unit 122s of the pre-trained NN32s are connected. Therefore, the upper layer 120b of the pre-trained NN32b corresponds to a configuration that integrates the basic classification output unit 121s and the new classification output unit 122s of the upper layer 120s of the pre-trained NN32s.

[0036] The second loss calculation unit 130b receives the integrated classification input from the trained NN32b, calculates the knowledge distillation loss Lkd and the cross-entropy loss Lce based on the integrated classification, and calculates the sum of the knowledge distillation loss Lkd and the cross-entropy loss Lce as the classification loss. The sum of the knowledge distillation loss Lkd and the cross-entropy loss Lce in the bridge phase is an example of the classification loss.

[0037] The second update unit 140b updates the weights θs and θp of the trained NN32b based on the classification loss. For example, the second update unit 140b receives the classification loss from the second loss calculation unit 130b and updates the weights θs and θp based on the classification loss. In this update of weights θs and θp, the weights θs and θp of the trained NN32b are updated to reduce the classification loss.

[0038] The series of processes in the bridge phase described above are repeatedly executed according to one or more epoch numbers defined as hyperparameters.

[0039] Furthermore, conventional SaB is based on CIL (Continuous Infinite Load), and uses big data, i.e., a large number of samples, for new classes in incremental tasks.

[0040] Here, IFSL is a more realistic scenario because it uses training data from a small number of new tasks (small data), making proper training more difficult compared to CIL, but it does not require the collection of a large amount of data. Recognizing the importance of this IFSL scenario, this disclosure considers applying IFSL to the aforementioned SaB. Considering the conditions of the CIL and IFSL scenarios, it is possible to apply IFSL to SaB.

[0041] In IFSL, learning on incremental tasks is performed with a small number of samples, so the influence of a single sample is strong. Therefore, when applying IFSL to SaB, the weights θn of the new class classification output unit 122s may overfit to the data of the new class. As a result, the generalization performance of NN32 decreases, and there is a problem that the classification accuracy of NN32 tends to decrease significantly when data different from the newly trained data of the new class is input to NN32.

[0042] The inventors focused on the fact that by constructing a pseudo-incremental task using a sample of basic class data, the generalization performance of the weight θn of the novel classification output unit 122s can be improved, thereby suppressing overfitting due to a small number of samples, and this led to the present disclosure. The embodiments of this disclosure will be described below.

[0043] First Embodiment The first embodiment of this disclosure will be described below. In the drawings and description of the first embodiment, components that are the same as or equivalent to those in the conventional configuration will be denoted by the same reference numerals. Descriptions that overlap with the conventional configuration will be omitted as appropriate, and the description will focus on the configurations that differ from the conventional configuration.

[0044] Figure 6 illustrates the learning process in the machine learning device 100 of the first embodiment. The learning process of the first embodiment consists of stages 1 to 3. The machine learning device 100 of the first embodiment includes a pre-training module 30 used in stage 1, a pseudo-continuous learning module 40 used in stage 2, and a novel class learning module 50 used in stage 3.

[0045] Stage 1 is the pre-training stage. In Stage 1, the weights Θt of the NN32 are pre-trained in the pre-training module 30 shown in Figure 1 using a large dataset of basic classes (hereinafter referred to as the basic dataset) 10.

[0046] Stage 2 is a pseudo-continuous learning stage. In Stage 2, the pseudo-continuous learning module 40 learns the weights Θt of the NN32 that were pre-trained by the pre-training module 30.

[0047] Figure 7 is a functional block diagram illustrating the configuration of the pseudo-continuous learning module 40. The pseudo-continuous learning module 40 includes a pre-trained NN32p with a basic class, an NN splitting unit 105p, a third loss calculation unit 130p, a third update unit 140p, and a pseudo-dataset generation unit 150. The pre-trained NN32p includes an NN lower layer 110p and an NN upper layer 120p.

[0048] The pseudo-dataset generation unit 150 generates a pseudo-dataset 25 based on the basic dataset 10. The pseudo-dataset generation unit 150 generates the pseudo-dataset 25 by, for example, extracting samples from the basic dataset 10 or combining classes. For example, if the basic dataset 10 contains M classes and N samples for each class, the pseudo-dataset generation unit 150 extracts m classes (M>m) from the M classes, and then extracts x samples from the N samples for each of the extracted m classes. The pseudo-dataset generation unit 150 uses the dataset containing the m classes and x samples for each class as the pseudo-dataset 25 used in one pseudo-incremental task performed in the pseudo-continuous learning stage.

[0049] The NN splitting unit 105p splits the trained NN32p into a lower NN layer 110p having weights θs and an upper NN layer 120p, and further splits the upper NN layer 120p into a pseudo-NN upper layer 121p having weights θo and a pseudo-class classification output unit 122p having weights θn. The NN splitting unit 105p splits the trained NN32p in the same manner as the splitting method (number of layers, number of nodes, inter-node connections, etc.) of the NN splitting unit 105s planned for the split phase in the later stage 3. The NN splitting unit 105p of the first embodiment is an example of another NN splitting unit.

[0050] The NN lower layer 110p takes the pseudo-dataset 25 as input and outputs values. The NN lower layer 110p has the same number of layers, the same number of nodes, and the same number of inter-node connections as the NN lower layer 110s. In this embodiment, the weights θs of the NN lower layer 110p are fixed. The NN lower layer 110p of the first embodiment is an example of another NN lower layer.

[0051] The pseudo-NN upper layer 121p receives the output values ​​from the NN lower layer 110p, but does not output classification. The pseudo-NN upper layer 121p has the same number of layers, the same number of nodes, and the same inter-node connections as the basic class classification output unit 121s. In this embodiment, the weights θo of the pseudo-NN upper layer 121p are fixed.

[0052] The pseudo-classification output unit 122p takes the output value of the NN lower layer 110s as input and outputs a classification based on the pseudo-dataset 25 using the weight θn (hereinafter referred to as pseudo-classification). The pseudo-classification output unit 122p has the same number of layers, the same number of nodes, and the same inter-node connections as the new classification output unit 122s.

[0053] The third loss calculation unit 130p calculates the cross-entropy loss Llce based on the pseudo-class classification input from the pseudo-class classification output unit 122p. The third loss calculation unit 130p in the first embodiment is an example of another loss calculation unit.

[0054] The third update unit 140p receives the cross-entropy loss Llce from the third loss calculation unit 130p and updates the weight θn based on the cross-entropy loss Llce. In the pseudo-continuous learning module 40 of the first embodiment, the weights θs and θo are fixed. Therefore, while the weight θn of the pseudo-class classification output unit 122p is updated, the weight θs of the NN lower layer 110p and the weight θo of the pseudo-NN upper layer 121p remain fixed (weights θs and θo are not updated). In other words, the third update unit 140p updates the weight θn of the pseudo-class classification output unit 122p to reduce the cross-entropy loss Llce while fixing the weight θs of the NN lower layer 110p and the weight θo of the pseudo-NN upper layer 121p. The third update unit 140p of the first embodiment is an example of another update unit.

[0055] In this embodiment, the weights θs and θo are fixed, and the weight θn is updated based on the cross-entropy loss Llce, thereby learning the weight Θt of NN32p. The learning of the weight Θt in the pseudo-continuous learning module 40 is performed in an episodic manner by constructing a pseudo-continuous learning task from a pseudo-dataset 25 generated by extracting m classes from the basic dataset 10 and extracting x samples from the basic dataset 10 for each of the m extracted classes.

[0056] The episodic format is described below. Each episode consists of a support set and a query set. In the pseudo-continuous learning stage, both the support set and the query set consist of a pseudo-dataset 25. In stage 2, in each episode, a pseudo-class classification is generated by classifying the query samples in the pseudo-dataset 25 included in the query set based on the support samples of the given support set, and the weights Θt of the trained NN32p are updated to minimize the loss of the pseudo-class classification.

[0057] In SaB, the partitioning of the NN32 is changed for each incremental task. Therefore, as shown in Figure 6, the pseudo-continuous learning stage adds a sequence of pseudo-incremental tasks, including pseudo-incremental tasks Tp1 to Tpn, which mimic the partitioning in the actual incremental tasks T1 to Tn (where n is the number of the final task). In the pseudo-incremental tasks Tp1 to Tpn, the partitioning of the NN32 is changed for each pseudo-incremental task.

[0058] Stage 3 is the new class learning stage. The new class learning stage is divided into the split phase and the bridge phase as described above. In the new class learning stage, the new class learning module 50 learns new knowledge using the rehearsal data 15 of the base class and the dataset 20 of the new class, and the weights Θt are learned in each of the split phase and bridge phase. The trained NN32s used in the split phase is an NN32p that has been pseudo-continuously trained by the pseudo-continuous learning module 40.

[0059] Figure 8 is a functional block diagram illustrating the configuration of the novel class learning module 50 of the first embodiment used in the split phase of SaB. The novel class learning module 50 of the first embodiment includes a first trained NN32s, a first loss calculation unit 130s, and a first update unit 140s. The first trained NN32s includes an NN lower layer 110s and an NN upper layer 120s. The first trained NN32s uses the weights Θt of the NN32p that have been pseudo-continuously learned by the pseudo-continuous learning module 40. Of the weights Θt, the weights θs of the NN lower layer 110p are used in the NN lower layer 110s, the weights θo of the pseudo-NN upper layer 121p are used in the basic class classification output unit 121, and the weights θn of the pseudo-class classification output unit 122p are used in the novel class classification output unit 122. In the first embodiment, the weight θn of the new classification output unit 122 is fixed.

[0060] In the first embodiment, the first loss calculation unit 130s receives the basic class classification from the basic class classification output unit 121 of the NN upper layer unit 120s and calculates the knowledge distillation loss Lkd based on the basic class classification.

[0061] In the first embodiment, the first update unit 140s receives the knowledge distillation loss Lkd from the first loss calculation unit 130s and updates the weights θs and θo based on the knowledge distillation loss Lkd. In this update, the weights θs and θo are updated to reduce the knowledge distillation loss Lkd. In the machine learning device 200 of the first embodiment, the weight θn of the pseudo-NN upper layer 121p is fixed. Therefore, while the weight θs of the NN lower layer 110s and the weight θo of the basic classification output unit 121 are updated, the weight θn of the pseudo-NN upper layer 121p remains fixed (the weight θn is not updated). That is, the first update unit 140s updates the weight θs of the NN lower layer 110s and the weight θo of the basic classification output unit 121 based on the knowledge distillation loss Lkd while fixing the weight θn.

[0062] The following describes a modified version of the first embodiment.

[0063] In the first embodiment, the pseudo-NN upper layer 121p of the pseudo-continuous learning module 40 did not output the classification to the third loss calculation unit 130p, but is not limited to this, and the classification may be output to the third loss calculation unit 130p. In this case, the weights θo of the pseudo-NN upper layer 121p may be updated by the third update unit 140p. That is, the weights θo of the pseudo-NN upper layer 121p do not have to be fixed.

[0064] In the first embodiment, the weights θs of the NN lower layer 110p of the pseudo-continuous learning module 40 were fixed, but they do not have to be fixed. That is, the weights θs of the NN lower layer 110p may be updated by the third update unit 140p.

[0065] In the first embodiment, the new classification output unit 122s did not output the new classification to the first loss calculation unit 130s, but is not limited to this, and the new classification may be output to the first loss calculation unit 130s. In this case, the weight θn of the new classification output unit 122s may be updated by the first update unit 140s based on the loss of the new classification. That is, the weight θn of the new classification output unit 122s does not have to be fixed.

[0066] In the first embodiment, a pseudo-dataset 25 was generated by extracting classes and samples from the basic dataset 10, but the embodiment is not limited to this. For example, a dataset of rotated images generated by rotating the images of the basic dataset 10 may be used as the pseudo-dataset 25. Alternatively, a composite image generated by combining the images of the basic dataset 10 using techniques such as CutMix, Mixup, or Cutout may be used as the pseudo-dataset 25.

[0067] In the first embodiment, the knowledge distillation loss Lkd and the cross-entropy losses Lce and Llce were calculated, but the invention is not limited to this, and the classification loss may be calculated by other methods.

[0068] Generalizing the embodiments and modifications described above, the following embodiments can be obtained.

[0069] The first embodiment of the machine learning device 100 is a machine learning device 100 that performs continuous learning based on a small number of new class data compared to basic class data, and comprises a pre-training module 30 that learns the weights of a neural network using basic class data, a pseudo-continuous learning module 40 that learns the weights of the neural network learned by the pre-training module 30 using pseudo-data generated based on the basic class data, and a new class learning module 50 that learns the weights of the neural network learned by the pseudo-continuous learning module 40 using basic class data and new class data, and the new class learning module 50 comprises a neural network lower layer 110s that takes the neural network learned by the pseudo-continuous learning module 40 as input and outputs values, and The neural network is divided into an upper neural network 120s located on the output side of the lower neural network 110s. The upper neural network 120s is further divided into a basic classification output unit 121s that takes the output value of the lower neural network based on the basic class data and the new class data as input and outputs a basic classification which is a classification based on the previous class data and the new class data, and a new classification output unit 122s that takes the output value of the lower neural network 110s based on the new class data as input and outputs a new classification which is a classification based on the new class data. The neural network is divided into a neural network division unit 105s that divides the upper neural network 120s into a basic classification output unit 121s that takes the output value of the lower neural network 110s based on the new class data as input and outputs a new classification which is a classification based on the new class data, and a loss calculation unit 130s that calculates the loss of the basic classification based on the basic classification, and an update unit 140s that updates the weights of the neural network based on the loss of the basic classification. With this configuration, the generalization performance of the weights θn can be improved by executing a pseudo-incremental task in the pseudo-continuous learning module 40. As a result, even when new knowledge is learned by performing incremental tasks in a later new learning stage, it becomes possible to suppress overfitting of that new knowledge.

[0070] In the first embodiment, the pseudo-continuous learning module 40 divides the neural network learned by the pre-learning module 30 into: another neural network lower layer 110p that takes pseudo-data as input and outputs a value; a pseudo-classification output unit 122p located on the output side of the other neural network lower layer 110p, which takes the output value of the previous neural network lower layer 110p as input and outputs a pseudo-classification that is a classification based on pseudo-data; another neural network division unit 105p that divides the neural network learned by the pre-learning module 30 into: another neural network division unit 130p that calculates the loss of the pseudo-classification based on the pseudo-classification; and another update unit 140p that updates the weights of the pseudo-classification output unit 122p based on the loss of the pseudo-classification, wherein the pseudo-classification output unit 122p has the same number of layers, the same number of nodes, and the same number of inter-node connections as the new classification output unit 122s. This configuration makes it possible to appropriately suppress overfitting of new knowledge.

[0071] In the first embodiment, the weights of the other underlying neural networks are fixed. This configuration makes it possible to improve the generalization performance of only the weight θn through a pseudo-incremental task.

[0072] In the first embodiment, the update unit 140s updates the weights of the neural network by fixing the weights of the new classification output unit 122s and updating the weights of the lower layer of the neural network 110s and the basic classification output unit 121s based on the loss of the basic classification. With this configuration, since the weights of the new classification output unit 122s are fixed in the split phase, it is possible to effectively suppress overfitting of new knowledge.

[0073] In summary, according to this disclosure, applying IFSL to SaB makes it possible to suppress overfitting of new knowledge.

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

[0075] The present disclosure has been described above based on embodiments. The embodiments are illustrative, and it will be understood by those skilled in the art that various modifications are possible in combinations of their components and processing processes, and that such modifications are also within the scope of the present disclosure. [Explanation of Symbols]

[0076] 1 dataset, 10 base class datasets, 15 base class rehearsal data, 20 new class datasets, 25 pseudo-datasets, 30 pre-trained modules, 32 NN, 40 pseudo-continuous learning modules, 50 new class learning modules, 105 NN splitting unit, 110 NN lower layer, 120 NN upper layer, 121 base class classification output unit, 122 new class classification output unit, 130 loss calculation unit, 140 update unit, 100 machine learning device.

Claims

1. A machine learning device that performs continuous learning based on a small number of new class data compared to the base class data, A pre-training module that learns the weights of a neural network using the aforementioned basic class data, A pseudo-continuous learning module that learns the weights of the neural network learned by the pre-training module using pseudo-data generated based on the data of the base class, A new class learning module that learns the weights of the neural network learned by the pseudo-continuous learning module using the data of the base class and the data of the new class, Equipped with, The aforementioned new class learning module is A neural network division unit divides the neural network trained by the pseudo-continuous learning module into a lower neural network layer that takes the data of the basic class and the data of the new class as input and outputs a value, and an upper neural network layer located on the output side of the lower neural network layer, and divides the upper neural network layer into a basic class classification output unit that takes the output value of the lower neural network layer based on the data of the basic class and the data of the new class as input and outputs a basic class classification which is a classification based on the data of the basic class and the data of the new class, and a new class classification output unit that takes the output value of the lower neural network layer based on the data of the new class as input and outputs a new class classification which is a classification based on the data of the new class, A loss calculation unit that calculates the loss of the basic class classification based on the basic class classification, An update unit that updates the weights of the neural network based on the loss of the basic class classification, Equipped with, Machine learning device.

2. The aforementioned pseudo-continuous learning module is, Another neural network splitting unit divides the neural network trained by the pre-training module into: another neural network lower layer that takes the pseudo-data as input and outputs a value; and a pseudo-classification output layer located on the output side of the other neural network lower layer, which takes the output value of the other neural network lower layer as input and outputs a pseudo-classification that is a class classification based on the pseudo-data. A loss calculation unit that calculates the loss of the pseudo-classification based on the pseudo-classification, Another update unit updates the weights of the pseudo-classification output unit based on the loss of the pseudo-classification, Equipped with, The pseudo-classification output unit has the same number of layers, the same number of nodes, and the same inter-node connections as the new classification output unit. The machine learning apparatus according to claim 1.

3. The weights of the lower layers of the aforementioned neural network are fixed. The machine learning apparatus according to claim 2.

4. The update unit updates the weights of the neural network by fixing the weights of the new classification output unit and updating the weights of the lower layer of the neural network and the basic classification output unit based on the loss of the basic classification. The machine learning apparatus according to claim 1.

5. A machine learning method that performs continuous learning based on a small number of new class data compared to the base class data, A pre-training step in which the weights of the neural network are learned using the aforementioned basic class data, A pseudo-continuous learning step in which the weights of a pre-trained neural network are learned using pseudo-data generated based on the aforementioned basic class data, A new class learning step that learns the weights of the neural network learned by the pseudo-continuous learning step using the data of the base class and the data of the new class, Equipped with, The aforementioned new class learning step is, The neural network learned by the aforementioned pseudo-continuous learning step is divided into a lower neural network layer that takes the data of the basic class and the data of the new class as input and outputs values, and an upper neural network layer located on the output side of the lower neural network layer, and the upper neural network layer is divided into a basic class classification output unit that takes the output values ​​of the lower neural network layer based on the data of the basic class and the data of the new class as input and outputs a basic class classification which is a classification based on the data of the basic class and the data of the new class, and a new class classification output unit that takes the output values ​​of the lower neural network layer based on the data of the new class as input and outputs a new class classification which is a classification based on the data of the new class, A step of calculating the loss of the basic classification based on the basic classification, A step of updating the weights of the neural network based on the loss of the basic class classification, Equipped with, Machine learning methods.