Classification device, classification method, and classification program

The classification device improves classification accuracy for new classes by using distillation and meta-learning to maintain and enhance neural network paths, addressing catastrophic forgetting and overfitting in incremental learning with limited data.

JP2026046279APending Publication Date: 2026-03-13JVC KENWOOD CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-02
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

Existing methods for incremental learning in neural networks face challenges in maintaining classification performance of old tasks while learning new tasks, especially when data for new classes is scarce, leading to catastrophic forgetting and overfitting.

Method used

A classification device and method that utilizes distillation and meta-learning processes to generate feature and classification units, incorporating path deletion/addition in neural networks, and averaging classification weights across datasets to improve classification accuracy for new classes with limited data.

Benefits of technology

Enhances classification performance for new classes even with small datasets by leveraging memory paths from previous learning and reducing catastrophic forgetting.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026046279000001_ABST
    Figure 2026046279000001_ABST
Patent Text Reader

Abstract

This technology provides a method to improve the classification performance of new classes in continuous learning, even when the amount of data for the new class is small. [Solution] The classification device 1 comprises a feature output unit 20 that outputs features of input data, and a classification unit 40 that takes a dataset of basic classes and a dataset of new classes with fewer data points than the dataset of basic classes as input, stores the average of the features output by the feature output unit 20 for each class as classification weights, and outputs the classification result of the input data using the features of the input data and the classification weights. The feature output unit 20 is generated by performing distillation using the dataset of new classes, with the other feature output units as the training model, after learning which includes deleting or adding paths between nodes in adjacent layers of a neural network using the dataset of basic classes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to classification techniques.

Background Art

[0002] Humans can learn new knowledge through long-term experience and can maintain the old knowledge so as not to forget it. On the other hand, the knowledge of a Convolutional Neural Network (CNN) 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 CNN for the entire dataset. In a CNN, as learning progresses for a new task, the estimation accuracy for the old task decreases. Thus, in a CNN, when continuous learning is performed, catastrophic forgetting, in which the learning results of the old task are forgotten during the learning of the new task, cannot be avoided.

[0003] As a more efficient and practical method, incremental learning (or continual learning), which learns a new task without forgetting the knowledge of past tasks while reusing the already acquired knowledge, has been proposed. Incremental learning is a learning method in which, when a new task or new data occurs, instead of learning the model from scratch, the currently learned model is improved and learned. In deep learning, there is a phenomenon of catastrophic forgetting in which the knowledge acquired in the past is significantly lost and the ability of the task is significantly reduced, and this is particularly problematic in incremental learning. Incremental learning in a class classification task is a method that enables learning and classification of a new class (new class) from a state where the classes (basic classes) learned in the past can be classified. The biggest challenge is to avoid catastrophic forgetting and maintain the classification performance of the basic classes while acquiring the classification performance of the new classes.

[0004] NISPA (Neuro-Inspired Stability-Plasticity Adaptation) has been proposed as one method of continuous learning to avoid fatal forgetting (see, for example, Non-Patent Document 1). NISPA mimics the memory mechanism of the human brain and is a method that deletes or adds paths between nodes in adjacent layers of a neural network during continuous learning. In NISPA, paths between nodes that had high activation values ​​(stable nodes) during the learning of the base class are maintained, while paths between other nodes are randomly cut. As a result, NISPA can preferentially maintain paths between stable nodes that are likely to be commonly used for class classification among the memory paths obtained during the learning of the base class. [Prior art documents] [Non-patent literature]

[0005] [Non-Patent Document 1] Mustafa Burak Gurbuz & Constantine Dovrolis (2022). NISPA: Neuro-Inspired Stability-Plasticity Adaptation for Continual Learning in Sparse Networks. International Conference on Machine Learning 2022. arXiv:2206.09117. [Non-Patent Document 2] Qianru Sun, Yaoyao Liu, Tat-Seng Chua & Bernt Schiele (2019). Meta-Transfer Learning for Few-Shot Learning. Computer Vision and Pattern Recognition 2019. arXiv:1812.02391. [Non-Patent Document 3] Geoffrey Hinton, Oriol Vinyals & Jeff Dean (2015). Distilling the Knowledge in a Neural Network. NIPS 2014 Deep Learning Workshop. arXiv:1503.02531. [Overview of the Initiative] [Problems that the invention aims to solve]

[0006] Learning methods like those used by NISPA, which involve deleting or adding paths between nodes in adjacent layers of a neural network, are based on the assumption of using large datasets known as big data. Therefore, if continuous learning is performed using a small dataset due to reasons such as insufficient sample data, the learning may not be performed properly.

[0007] Methods for increasing the sample data include duplicating the sample data. However, such methods are known to lead to overfitting, where local performance is good but generalization performance is poor, making it difficult to maintain classification accuracy.

[0008] This invention was made in view of these circumstances, and its purpose is to provide a technology that can improve the classification performance of new classes in continuous learning, even when the amount of data for new classes is small. [Means for solving the problem]

[0009] To solve the above problems, a classification device according to one aspect of the present invention comprises: a feature output unit that outputs feature quantities of input data; a classification unit that takes a dataset of basic classes and a dataset of new classes having fewer data points than the dataset of basic classes as input, stores the average of the feature quantities output by the feature output unit for each class as classification weights, and outputs a classification result of the input data using the feature quantities of the input data and the classification weights. The feature output unit is generated by performing distillation using the dataset of new classes, with the other feature output unit as the training model, after learning which includes deleting or adding paths between nodes in adjacent layers of a neural network using the dataset of basic classes.

[0010] Another aspect of the present invention is a classification method. This method includes a feature output step that outputs features of input data, and a classification step that takes a base class dataset and a new class dataset having fewer data points than the base class dataset as input, holds the features output in the feature output step averaged for each class as classification weights, and outputs a classification result of the input data using the features of the input data and the classification weights. The feature output unit that performs the feature output step is generated by performing distillation using the new class dataset, with another feature output unit as the training model, after training which includes deleting or adding paths between nodes in adjacent layers of a neural network using the base class dataset.

[0011] Furthermore, any combination of the above components, as well as conversions of the expression of the present invention between methods, apparatus, systems, recording media, computer programs, etc., are also valid embodiments of the present invention. [Effects of the Invention]

[0012] According to one aspect of the present invention, even when the amount of data for a new class is small, the classification performance of new classes in continuous learning can be improved. [Brief explanation of the drawing]

[0013] [Figure 1] It is a functional block diagram schematically showing the schematic configuration of the classification device according to the present embodiment. [Figure 2] It is a flowchart explaining an example of the flow of generation processing of the feature quantity output unit and the classification unit shown in FIG. 1 executed by the learning device. [Figure 3] It is a diagram showing an example of a configuration related to the processing of the flowchart shown in FIG. 2. [Figure 4] It is a diagram showing an example of creation of data related to the processing of the flowchart shown in FIG. 2. [Figure 5] It is a diagram showing an example of the configuration of a classification device including a second feature quantity output unit and a second classification unit. [Figure 6] It is a diagram explaining the configuration related to inner learning executed by the learning device. [Figure 7] It is a diagram explaining the configuration related to outer learning executed by the learning device. [Figure 8] It is a diagram showing an example of a configuration related to the processing of the flowchart shown in FIG. 2. [Figure 9] It is a diagram showing an example of a configuration related to the processing of the flowchart shown in FIG. 2. [Figure 10] It is a diagram showing an example of a configuration related to the processing of the flowchart shown in FIG. 2. [Figure 11] It is a diagram showing an example of a configuration related to the processing of the flowchart shown in FIG. 2. [Figure 12] It is a diagram showing an example of the configuration of a classification device including a fourth feature quantity output unit and a fifth classification unit. [Figure 13] It is a diagram explaining a modified example of the configuration related to the processing of the flowchart shown in FIG. 2. <​​​​​​​​Hereinafter, embodiments of the present invention will be described with reference to the drawings. The specific numerical values and the like shown in such embodiments are merely examples for facilitating the understanding of the invention, and do not limit the present invention unless otherwise specified. In the drawings, elements not directly related to the present invention are omitted from illustration.

[0015] FIG. 1 is a functional block diagram schematically showing the schematic configuration of the classification device 1 according to the present embodiment. As shown in FIG. 1, the classification device 1 includes an input unit 10, a feature amount output unit 20, a classification unit 40, and an output unit 50.

[0016] The input unit 10 receives the input of input data to be classified by the classification device 1. The input data is, for example, data of an image in which an object is imaged, and the imaged object is an animal, a vehicle, a person, or the like.

[0017] The feature amount output unit 20 outputs the feature amount of the input data received by the input unit 10. The feature amount output unit 20 is a neural network model that has completed meta-learning. The feature amount output unit 20 performs meta-learning using a dataset of basic classes. Further, the feature amount output unit 20 is generated by performing distillation using a dataset of new classes with another feature extraction unit as a teacher model after learning including deleting or adding paths between nodes in adjacent layers in the neural network using a dataset of basic classes. As a distillation method, for example, the method described in Non-Patent Document 3 can be used. The feature amount output unit 20 may complete continuous learning or may be updated by further performing continuous learning. The number of layers of the neural network model included in the feature amount output unit 20 is, for example, 7 layers, but is not particularly limited as long as it is 4 layers or more. Details of the continuous learning of the feature amount output unit 20 will be described later.

[0018] The classification unit 40 classifies the input data received by the input unit 10. The classification unit 40 maintains classification weights for each class. The classification unit 40 takes the features output by the feature output unit 20 as input and classifies the input data based on the features and classification weights. The classification weights maintained by the classification unit 40 are centroids obtained by averaging the features output by the feature output unit 20 for each class, using the base class dataset and the new class dataset as input. The number of data points in the new class dataset is less than the number of data points in the base class dataset. The classification unit 40 compares the features with the classification weights and classifies the class with the closest classification weight to the features as the classification result.

[0019] The output unit 50 outputs the classification result from the classification unit 40. That is, the output unit 50 outputs information indicating which class the input data was classified into. The output unit 50 is, for example, a display device such as a display, or an audio output device such as a speaker that outputs sound.

[0020] Figure 2 is a flowchart illustrating an example of the flow of the feature generation process performed by the learning device shown in Figure 3, etc., for the feature output unit 20 and the classification unit 40. Figure 3 is a diagram showing an example of the configuration related to the process of step S10 in the flowchart shown in Figure 2.

[0021] As shown in Figures 2 and 3, the learning device 30a pre-trains the first feature output unit 70 and the first classification unit 82 using the basic class big data 60 (S10). The pre-training in step S10 may be general machine learning using big data.

[0022] As shown in Figure 3, the learning device 30a comprises a first feature output unit 70, a first classification unit 82, and a learning unit 91. The first feature output unit 70 is a neural network model that outputs a first feature, which is a feature of the input data, and is used to generate the feature output unit 20 and the classification unit 40. The same applies to the second feature output unit 76, the third feature output unit 78, and the fourth feature output unit 80, which will be described later. That is, the nth (n is a natural number) feature output unit outputs the nth feature, which is a feature of the input data, regardless of the content of the input data. The first classification unit 82 is a classification unit that holds a first classification weight, which is a classification weight, and outputs a classification result using the first feature and the first classification weight, and is used to generate the feature output unit 20 and the classification unit 40. The same applies to the second classification unit 84, the third classification unit 86, and the fourth classification unit 88, which will be described later, each holding a different classification weight. That is, the nth classification unit holds the nth classification weight.

[0023] The basic class big data 60 is input to the first feature output unit 70. The first feature output unit 70 extracts and outputs the first feature of each data contained in the input basic class big data 60. The first classification unit 82 classifies the input data into classes based on the first features and first classification weights input from the first feature output unit 70. The learning unit 91 calculates the loss from the correct labels and class classifications, and updates the parameters of the first feature output unit 70 and the first classification weights of the first classification unit 82 to minimize the loss. The basic class big data 60 is, for example, data from 60 classes, with each class containing 100 image data points.

[0024] Figure 4 shows an example of data creation related to the processing of the flowchart shown in Figure 2. As shown in Figure 4, before proceeding to step S12 in Figure 2, data is prepared by dividing the basic class big data 60 into multiple support sets 62 and query sets 64. Each of the support sets 62 and query sets 64 will be used in meta-learning in the few-shot continuous learning described later. The support sets 62 are used in the inner learning of meta-learning. The query sets 64 are used in the outer learning of meta-learning. For example, 100 image data are selected from the big data 60, 25 image data are made into a support set 62, and 75 image data are made into a query set 64, forming one group. One group contains images for 5 classes, and both the support sets 62 and query sets 64 have data for the same classes. In other words, the support sets 62 contain 5 image data per class, and the query sets 64 contain 15 image data per class.

[0025] Figure 5 is a diagram illustrating an example of the configuration of a classification device 98, including a second feature output unit 76 and a second classification unit 84, in order to explain the second feature output unit 76 and the second classification unit 84, which undergo meta-learning in the process of step S12 described later. As shown in Figure 5, the second feature output unit 76 comprises a first feature output unit 70, a scaling unit 72, and a bias unit 74. The scaling unit 72 outputs a multiplication result obtained by multiplying the first feature output from the input data by a predetermined multiplication value. The bias unit 74 outputs an addition result obtained by adding a predetermined addition value to the multiplication result from the scaling unit 72. The second classification unit 84 holds second classification weights, which are weights for classifying each class. The second classification weights are enriched classification weights. The enriched classification weights may be the same as those described in Non-Patent Literature 3. For example, there are 5 enriched classification weights, and by using 5 enriched classification weights, it is possible to classify all classes. The second classification unit 84 takes the summation result from the bias unit 74 as input and outputs a classification result from the summation result and the second classification weight. The initial values ​​of the multiplication value of the scaling unit 72 and the summation value of the bias unit 74 may be arbitrary values, but it is preferable that they are values ​​that do not significantly change the value output by the first feature output unit 70.

[0026] As shown in Figure 2, the learning devices 30b and 30c (see Figures 6 and 7) train the second feature output unit 76 and the second classification unit 84 (S12). The process in step S12 is meta-learning. Meta-learning includes inner learning and outer learning.

[0027] Figure 6 illustrates the configuration of the inner learning performed by the learning device 30b. In inner learning, the multiplication value used by the scaling unit 72 and the addition value used by the bias unit 74 are updated using the support set 62 of the basic class. As shown in Figure 6, the first feature output unit 70 takes the support set 62 of the basic class as input and outputs the first feature. The scaling unit 72 outputs the multiplication result obtained by multiplying the first feature by the multiplication value. The bias unit 74 outputs the addition result obtained by adding the addition value to the multiplication result. The second classification unit 84 takes the addition result as input and outputs the classification result from the addition result and the second classification weights. The learning unit 92a calculates the loss using the classification result as input. Based on the loss, the learning unit 92a updates the multiplication value and the addition value, for example, to minimize the loss. In inner learning, the second classification weights of the second classification unit 84 are not updated. The initial values ​​of the second classification weights may be random.

[0028] Figure 7 illustrates the configuration of outer learning performed by the learning device 30c. In outer learning, after the multiplication and addition values ​​are determined by inner learning, the second classification weights used by the second classification unit 84 are updated using the basic class queryset 64. As shown in Figure 7, the first feature output unit 70 takes the basic class queryset 64 as input and outputs the first feature. The scaling unit 72 outputs the multiplication result obtained by multiplying the first feature by the multiplication value. The bias unit 74 outputs the addition result obtained by adding the addition value to the multiplication result. The second classification unit 84 takes the addition result as input and outputs the classification result from the addition result and the second classification weight. The learning unit 92b calculates the loss using the classification result as input. Based on the loss, the learning unit 92b updates the second classification weight, for example, to minimize the loss. In outer learning, the multiplication and addition values ​​are not updated.

[0029] The learning devices 30b and 30c determine the multiplicative value, additive value, and second classification weight by alternately performing the inner learning and outer learning described above, one epoch at a time.

[0030] Figure 8 shows an example of a configuration related to the processing of step S14 in the flowchart shown in Figure 2. As shown in Figures 2 and 8, the learning device 30d performs training on the third feature output unit 78 (S14). The paths of the third feature output unit 78 are the paths between adjacent layers of nodes in the neural network, and the learning device 30d performs training that includes deleting or adding such paths. The third feature output unit 78 takes the support set 62 and query set 64 of the basic class as input and outputs third features. The third feature output unit 78 may use a replica of the second feature output unit 76 trained in step S12. That is, the third feature output unit 78 comprises a neural network, a scaling unit, and a bias unit (none of which are shown). The initial values ​​of the paths of the neural network included in the third feature output unit 78, the activation values ​​of each node, and the weights of the paths between adjacent layers of nodes may be the same as those of the second feature output unit 76. Similarly, the initial values ​​of the multiplication value used by the scaling unit and the addition value used by the bias unit included in the third feature output unit 78 may be the multiplication value used by the scaling unit 72 and the addition value used by the bias unit 74 included in the second feature output unit 76, respectively. The activation value of a node is determined based on the activation value of the parent node connected in the layer immediately preceding that node, i.e., the layer closer to the input layer, and the weight of the connection with that parent node.

[0031] The third classification unit 86 holds third classification weights, which are initially set to the second classification weights of the second classification unit 84 after outer learning. That is, the third classification weights are enriched classification weights. The third classification unit 86 takes third features from the third feature output unit 78 as input and outputs a classification result from the third features and the third classification weights. The learning unit 92c updates the path of the third feature output unit 78 and the third classification weights of the third classification unit 86 based on the classification result from the third classification unit 86. The learning device 30 executes the process of step S14 one epoch at a time. The method for updating the path of the third feature output unit 78 executed by the learning unit 92c is not particularly limited, but may be, for example, the method based on NISPA described in Non-Patent Literature 1.

[0032] Figure 9 shows an example of the configuration related to the processing in step S16 of the flowchart shown in Figure 2. As shown in Figures 2 and 9, the learning device 30e learns the fourth feature output unit 80 by distillation using the second feature output unit 76 as the training model (S16). The second feature output unit 76 takes the support set 66 and query set 68 of the new class as input and outputs the fourth feature. Here, the number of data points in the new class dataset is less than the number of data points in the base class dataset. The second classification unit 84 takes the second feature from the second feature output unit 76 as input and outputs the classification result from the second feature and the second classification weight.

[0033] The fourth feature output unit 80 takes the support set 66 and query set 68 of the new class as input and outputs features. The fourth feature output unit 80 may use a duplicate of the third feature output unit 78. That is, the fourth feature output unit 80 comprises a neural network, a scaling unit, and a bias unit (none of which are shown in the figure). The fourth classification unit 88 takes the fourth features from the fourth feature output unit 80 as input and outputs a classification result from the fourth features and fourth classification weights. The fourth classification weights of the fourth classification unit 88 may be duplicates of the second classification weights of the second classification unit 84 after outer learning. That is, the fourth classification weights are enriched classification weights.

[0034] The learning unit 92d calculates a loss from the similarity between the classification result output from the second classification unit 84 and the classification result output from the fourth classification unit 88. When the second feature output unit 76 is used as the teacher model and the fourth feature output unit 80 is used as the student model, the learning unit 92d distills the fourth feature output unit 80 so that its performance as the student model approaches that of the second feature output unit 76, which is the teacher model. The fourth feature output unit 80 thus learned becomes the feature output unit 20 described above.

[0035] Figures 10 and 11 show an example of the configuration related to the processing in step S18 of the flowchart shown in Figure 2. As shown in Figures 10 and 11, the learning devices 30f and 30g generate the fifth classification weights of the fifth classification unit 90 (see Figure 12) using the fourth feature output unit 80 generated by distillation in step S16 (S18). As shown in Figure 10, the fourth feature output unit 80 takes the support set 62 and query set 64 of the basic class as input and outputs the fourth features. The classification weight generation unit 94 takes the fourth features from the fourth feature output unit 80 as input, averages the fourth features for each class, and generates the fifth A classification weight 90a of the fifth classification unit 90.

[0036] As shown in Figure 11, the fourth feature output unit 80 takes the support set 66 and query set 68 of the new class as input and outputs the fourth feature. The classification weight generation unit 94 takes the fourth feature from the fourth feature output unit 80 as input, averages the fourth feature for each class, and generates the fifth B classification weight 90b for the fifth classification unit 90. Figure 12 is a diagram showing an example of the configuration of the classification device 99 including the fourth feature output unit 80 and the fifth classification unit 90. The fifth classification unit 90 holds the fifth A classification weight 90a and fifth B classification weight 90b generated as described above as the fifth classification weight. The fifth classification unit 90 corresponds to the classification unit 40 in Figure 1. The fourth feature output unit 80 corresponds to the feature output unit 20 in Figure 1.

[0037] Figure 13 illustrates a modified configuration related to the processing in step S16. In the modified configuration shown in Figure 13, in addition to performing the processing in step S16 as described with reference to Figure 9, the learning device 30h stores the second features output by the second feature output unit 76 in the storage unit 96. Figure 14 illustrates a modified configuration related to the processing in step S18. In the modified configuration shown in Figure 14, unlike the example described with reference to Figure 11, the classification weight generation unit 94 takes the fourth features from the fourth feature output unit 80 and the second features stored in the storage unit 96 as input and generates the fifth B classification weight 90b of the fifth classification unit by averaging the features for each class. That is, the classification unit 40 stores as classification weights the features obtained by adding and averaging the second features output by the second feature output unit 76 with the new class dataset as input, and the fourth features output by the fourth feature output unit 80 with the basic class data and the new class data as input, for each class. As a result, the classification device 1 can store classification weights calculated using not only the features output by the feature output unit 20 but also the features output by other feature output units. Therefore, even when the amount of data for a new class is small, the accuracy of classifying the new class can be improved.

[0038] As described above, the classification device 1 according to this embodiment comprises a feature output unit 20 that outputs feature quantities of input data, and a classification unit 40 that takes a dataset of basic classes and a dataset of new classes having fewer data points than the dataset of basic classes as input, stores the average of the feature quantities output by the feature output unit 20 for each class as classification weights, and outputs the classification result of the input data using the feature quantities of the input data and the classification weights. The feature output unit 20 and the classification unit 40 are generated by performing multiple learning processes. That is, they are generated by performing pre-training, meta-training, learning including deleting or adding paths between nodes in adjacent layers of a neural network, and distillation.

[0039] As a result, the classification device 1 can obtain a feature output unit 20 that has learned a new class through distillation, while utilizing the memory path information obtained during the learning of the basic class. Therefore, the classification device 1 can improve the classification performance of the new class in continuous learning, even when the amount of data for the new class is small.

[0040] Furthermore, the classification unit 40 of the classification device 1 according to this embodiment may store as classification weights features obtained by adding together for each class the features output by other feature output units with the dataset of the new class as input, and the features output by feature output unit 20 with the data of the new class as input, and averaging these features.

[0041] As a result, the classification device 1 can store classification weights for new classes calculated using not only the features output by the feature output unit 20 but also the features output by other feature output units. Therefore, even when the amount of data for the new class is small, the accuracy of the classification of the new class can be improved.

[0042] Furthermore, in the classification device 1 according to this embodiment, the other feature output unit may include a neural network that has been trained using a basic class dataset and outputs features of the input data, a scaling unit 72 that adjusts the values ​​by multiplying the features output by the neural network by a multiplicative value, and a bias unit 74 that adds an additive value to the values ​​adjusted by the scaling unit 72. The multiplicative value and the additive value may be updated by inner learning using a support set of the basic class. Inner learning may be performed by a learning device comprising the other feature output unit, the other classification unit (for example, the second classification unit 84), and the learning unit 92. In internal learning, the neural network outputs features using a support set of basic classes as input, the scaling unit 72 outputs a multiplication result obtained by multiplying the output features by a multiplication value, the bias unit 74 outputs an addition result obtained by adding an addition value to the output multiplication result, another classification unit holds enriched classification weights which are weights for classifying each class, takes the output addition result as input, outputs a classification result from the addition result and the enriched classification weights, and the learning unit 92 calculates a loss using the output classification result as input, and may update the multiplication value and the addition value based on the loss.

[0043] This allows the parameters used by other feature output units to be trained through inner learning using the support set of the base class, thereby improving classification accuracy.

[0044] Furthermore, in the classification device 1 according to this embodiment, the enriched classification weights may be updated by outer learning using the query set of the base classes after the multiplication and addition values ​​have been updated. Outer learning may be performed by the learning device 30. In outer learning, the neural network outputs features using the query set of the base classes as input, the scaling unit 72 outputs a multiplication result obtained by multiplying the output features by a multiplication value, the bias unit 74 outputs an addition result obtained by adding an addition value to the output multiplication result, another classification unit holds the enriched classification weights which are the weights for classifying each class, takes the output addition result as input, outputs a classification result from the addition result and the enriched classification weights, and the learning unit 92 calculates a loss using the output classification result as input and updates the enriched classification weights based on the loss.

[0045] This allows the enriched classification weights used by other classification units to be trained through outer learning using the queryset of the base class, thereby improving classification accuracy.

[0046] The various processes described above, such as those performed by classification device 1, can be implemented not only as devices 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. These firmware programs and software programs 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 broadcasts on terrestrial or satellite digital television.

[0047] The present invention 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 also fall within the scope of the present invention. [Explanation of symbols]

[0048] 1 Classification unit, 20 Feature output unit, 30 Learning unit, 40 Classification unit, 50 Output unit, 72 Scaling unit, 74 Bias unit, 92 Learning unit.

Claims

1. A feature output unit that outputs the features of the input data, A classification unit takes a base class dataset and a new class dataset with fewer data points than the base class dataset as input, and stores the average of the features output by the feature output unit for each class as classification weights, and outputs the classification result of the input data using the features of the input data and the classification weights. Equipped with, The feature output unit is generated by performing distillation using the new class dataset, after training which includes deleting or adding paths between nodes in adjacent layers of a neural network using the basic class dataset, with another feature output unit as the training model. Classification device.

2. The classification unit stores the features obtained by adding together, for each class, the features output by the other feature output unit with the dataset of the new class as input, and the features output by the feature output unit with the data of the base class and the data of the new class as input, and averaging these features, as the classification weights. The classification device according to claim 1.

3. The aforementioned other feature output unit is: A neural network that has been trained using the aforementioned basic class dataset and outputs features of the input data, A scaling unit adjusts the value by multiplying the feature quantities output by the neural network by a multiplier value, The system includes a bias unit that adds an additional value to the value adjusted by the scaling unit, The multiplication value and the addition value are updated by internal learning using the support set of the base class. The aforementioned internal learning is performed by a learning device comprising the other feature output unit, another classification unit, and a learning unit. In the aforementioned internal learning, The neural network takes the support set of the basic class as input and outputs features, The scaling unit outputs a multiplication result obtained by multiplying the feature quantity output by the neural network by the multiplication value. The bias unit outputs an addition result obtained by adding the addition value to the multiplication result output by the scaling unit. The aforementioned other classification unit holds concentrated classification weights, which are weights for classifying classes, and takes the summation result output by the bias unit as input, and outputs a classification result from the summation result and the concentrated classification weights. The learning unit calculates a loss using the classification result output by the other classification unit as input, and updates the multiplicative value and the additive value based on the loss. A classification device according to claim 1 or 2.

4. The aforementioned enriched classification weights are updated by outer learning using the queryset of the base class after the multiplication value and the addition value have been updated. The outer learning is performed by the learning device. In the aforementioned outer learning, The neural network takes the queryset of the basic class as input and outputs features, The scaling unit outputs a multiplication result obtained by multiplying the feature quantity output by the neural network by the multiplication value. The bias unit outputs an addition result obtained by adding the addition value to the multiplication result output by the scaling unit. The aforementioned other classification unit holds concentrated classification weights, which are weights for classifying classes, and takes the summation result output by the bias unit as input, and outputs a classification result from the summation result and the concentrated classification weights. The learning unit calculates a loss using the classification results output by the other classification unit as input, and updates the enriched classification weights based on the said loss. The classification device according to claim 3.

5. A feature output step that outputs the features of the input data, A classification step takes a dataset of a base class and a dataset of a new class having fewer data points than the dataset of the base class as inputs, and stores the average of the features output in the feature output step for each class as classification weights, and outputs the classification result of the input data using the features of the input data and the classification weights. Includes, The feature output unit that performs the feature output step is generated by performing distillation using the new class dataset, after learning which includes deleting or adding paths between nodes in adjacent layers of the neural network using the basic class dataset, with another feature output unit as the training model. Classification method.

6. A feature output step that outputs the features of the input data, A classification step takes a dataset of a base class and a dataset of a new class having fewer data points than the dataset of the base class as inputs, and stores the average of the features output in the feature output step for each class as classification weights, and outputs the classification result of the input data using the features of the input data and the classification weights. A classification program to be executed by a computer, The feature output unit that performs the feature output step is generated by performing distillation using the new class dataset, after learning which includes deleting or adding paths between nodes in adjacent layers of the neural network using the basic class dataset, with another feature output unit as the training model. A classification program.