Learning device, machine learning program, and machine learning method

Quantile normalization maintains neural network performance by normalizing activation value vectors, enabling effective learning of new classes with minimal training data, addressing performance degradation issues in existing methods.

JP7876839B2Active Publication Date: 2026-06-22NAT INST OF INFORMATION & COMM TECH

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
NAT INST OF INFORMATION & COMM TECH
Filing Date
2022-07-04
Publication Date
2026-06-22

AI Technical Summary

Technical Problem

Existing machine learning methods for training neural networks with a small number of training data points often result in significant degradation of performance due to differences in the statistical characteristics of the weight matrix, limiting their effectiveness.

Method used

The method employs Quantile normalization of activation value vectors using the weight matrix as a reference distribution to maintain the performance of neural networks when adding new classes, without altering the weight matrices.

Benefits of technology

Enables neural networks to learn classes corresponding to one or a few training data points while preserving network performance, allowing for seamless addition of new classes without degrading accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007876839000012
    Figure 0007876839000012
  • Figure 0007876839000013
    Figure 0007876839000013
  • Figure 0007876839000014
    Figure 0007876839000014
Patent Text Reader

Abstract

To make a neural network learn a class corresponding to one or a small number of pieces of learning data, without depending on statistical features of the neural network, using one or a small number of pieces of the learning data while maintaining performance of the neural network.SOLUTION: A learning device includes steps of: calculating a specific active value vector xnew corresponding to a specific class of at least one piece of learning data Dnc from at least one active value vector output from at least one hidden layer Lh1 to LhM to output layer Lo, respectively, for at least one piece of the learning data Dnc; calculating a normalization vector by performing a quantile normalization F referring to a weight matrix Wori of the output layer Lo as reference distribution for the specified active value vector xnew; adding the normalization vector to the weighting matrix; and adding neuron No3 corresponding to the specific class to the output layer Lo.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a learning device, a machine learning program, and a machine learning method for training a neural network to learn classes corresponding to one or a small number of training data. [Background technology]

[0002] Conventionally, machine learning methods are known that train a neural network to learn classes corresponding to one or a small number of training data. For example, Non-Patent Literature 1 discloses weight imprinting, which adds a new class to a pre-trained CNN (Convolutional Neural Network) by linearly transforming the activation value vector input to the final layer (output layer) of the fully connected layer and adding it to the weight matrix of the output layer when an image of the new class is input to the CNN. According to this weight imprinting, a new class corresponding to an image can be added to a pre-trained CNN using a single image without requiring additional optimization. [Prior art documents] [Non-patent literature]

[0003] [Non-Patent Document 1] Hang Qi, Matthew Brown, David G. Lowe, "Low-Shot Learning With Imprinted Weights", in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2018, pp. 5822-5830. [Overview of the project] [Problems that the invention aims to solve]

[0004] The statistical characteristics of the weight matrix to which the activation value vector has been added may differ significantly from those of the original weight matrix, depending on the statistical characteristics of the activation value vector. Since the statistical characteristics of the weight matrix are the result of optimization such as backpropagation, changes in the statistical characteristics of the weight matrix can significantly degrade the performance of the original neural network that had been trained. Therefore, the neural networks to which the machine learning method disclosed in Non-Patent Document 1 is effective may be limited to neural networks in which the statistical characteristics of the activation value vector and the statistical characteristics of the weight matrix are similar.

[0005] The present invention was made to solve the above-mentioned problems, and its objective is to train a neural network to learn a class corresponding to one or a few training data points, using one or a few training data points, while maintaining the performance of the neural network, regardless of the statistical characteristics of the neural network. [Means for solving the problem]

[0006] A learning device according to one aspect of the present invention comprises a memory unit and a control unit. A neural network is stored in the memory unit. The control unit causes the neural network to learn a specific class corresponding to at least one training data. The neural network includes an input layer, at least one hidden layer, and an output layer. The input layer receives at least one training data. The output layer includes a plurality of neurons, each corresponding to a plurality of classes. At least one hidden layer is connected between the input layer and the output layer. The control unit calculates a specific activation value vector corresponding to a specific class from at least one activation value vector output from at least one hidden layer to the output layer for at least one training data, performs Quantile normalization on the specific activation value vector using the weight matrix of the output layer as the reference distribution to calculate a normalized vector, adds the normalized vector to the weight matrix, and adds neurons corresponding to the specific class to the output layer.

[0007] A machine learning program according to another aspect of the present invention trains a neural network on a specific class corresponding to at least one training data. The neural network includes an input layer, at least one hidden layer, and an output layer. The input layer receives at least one training data. The output layer includes multiple neurons, each corresponding to a plurality of classes. At least one hidden layer is connected between the input layer and the output layer. The machine learning program, when executed on a processor, calculates a specific activation value vector corresponding to a specific class from at least one activation value vector output from at least one hidden layer to the output layer for at least one training data, performs Quantile normalization on the specific activation value vector, referencing the weight matrix of the output layer as the reference distribution, calculates a normalized vector, adds the normalized vector to the weight matrix, and adds neurons corresponding to the specific class to the output layer.

[0008] A machine learning method according to another aspect of the present invention involves training a neural network to learn a specific class corresponding to at least one training data. The neural network includes an input layer, at least one hidden layer, and an output layer. The input layer receives at least one training data. The output layer includes a plurality of neurons, each corresponding to a plurality of classes. At least one hidden layer is connected between the input layer and the output layer. The machine learning method includes the steps of: calculating a specific activation value vector corresponding to a specific class from at least one activation value vector output from at least one hidden layer to the output layer for at least one training data; calculating a normalized vector by performing Quantile normalization on the specific activation value vector, referencing the weight matrix of the output layer as the reference distribution; adding the normalized vector to the weight matrix; and adding neurons corresponding to the specific class to the output layer. [Effects of the Invention]

[0009] According to the learning device and machine learning method of the present invention, Quantile normalization allows the neural network to learn a class corresponding to one or a few training data points using one or a few training data points, while maintaining the performance of the neural network, regardless of the statistical features of the neural network. [Brief explanation of the drawing]

[0010] [Figure 1] This is a block diagram showing the configuration of the learning device according to Embodiment 1. [Figure 2] This figure shows an example of the structure of a neural network in Figure 1. [Figure 3] This figure shows an example of a neural network structure in which a new class corresponding to image data has been added to the neural network in Figure 2 using the machine learning method according to the comparative example of Embodiment 1. [Figure 4] This figure shows an example of the distribution of activity values ​​included in the activity value vector in Figure 2, and an example of the distribution of weight values ​​included in each of the multiple weight vectors that make up the weight matrix in Figure 2. [Figure 5] This figure shows an example of a neural network structure in which a new class corresponding to image data has been added to the neural network in Figure 2 using the learning device in Figure 1. [Figure 6] This figure shows an example of a neural network structure in which a new class corresponding to image data has been added to the neural network in Figure 5 using the learning device in Figure 1. [Figure 7] Figure 1 is a flowchart showing an example of the flow of machine learning processing performed by the processor running the machine learning program. [Figure 8] This is a block diagram showing the configuration of the learning device according to Embodiment 2. [Figure 9] Figure 8 is a flowchart showing an example of the flow of machine learning processing performed by the processor running the machine learning program. [Modes for carrying out the invention]

[0011] The embodiments will be described in detail below with reference to the drawings. Note that the same or corresponding parts in the drawings are denoted by the same reference numerals, and their descriptions will not be repeated in principle.

[0012] [Embodiment 1] Figure 1 is a block diagram showing the configuration of the learning device 100 according to Embodiment 1. As shown in Figure 1, the learning device 100 includes a storage unit 101, a processor 102 (control unit), a memory 103, a network interface 104, and an input / output unit 105.

[0013] Storage 101 is a non-volatile storage device, including, for example, a hard disk or an external storage medium. Storage 101 stores, for example, an operating system program (not shown), a machine learning program Pg1, at least one training data Dn, and a trained neural network Nw. The neural network Nw is used, for example, for image classification in cancer diagnosis, anomaly detection, surveillance cameras, or autonomous driving. Alternatively, the neural network Nw may be used for natural language processing or input into another language, or for multivariate optimization such as network control, computational edge distribution, or electric furnace control.

[0014] The neural network Nw includes, for example, a DNN (Deep Neural Network). Examples of neural networks Nw include ViT (Vision Transformer), EfficientNet, GoogleNet (InceptionV1), or ResNet. Note that the neural network Nw does not need to be pre-trained.

[0015] The processor 102 realizes the functions of the learning device 100 by executing various programs stored in the storage 101. The processor 102 includes, for example, a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit). The processor 102 executes the machine learning program Pg1 to realize machine learning (one-shot learning) in which the neural network Nw learns a new class (specific class) corresponding to at least one of the training data Dn using that training data. The processor 102 transmits data to external devices connected to the internet via the network interface 104 and receives data from said external devices.

[0016] Memory 103 is a volatile storage device, including, for example, RAM (Random Access Memory). Memory 103 functions as working memory, temporarily storing various data necessary for program execution.

[0017] The input / output unit 105 receives user input and outputs the processing results of the program corresponding to that input to the user. The input / output unit 105 includes, for example, a mouse, keyboard, touch panel, display, lamp, and speaker. Various GUIs (Graphical User Interfaces) of applications are displayed to the user via the input / output unit 105.

[0018] Figure 2 shows an example of the structure of the neural network Nw in Figure 1. Below, we will explain the case where the neural network Nw functions as a classification model for image data.

[0019] As shown in Figure 2, the neural network Nw consists of an input layer Li and at least one hidden layer Lh1~Lh M It includes (M is a natural number greater than or equal to 1) and the output layer Lo.

[0020] The input layer Li receives at least one learning data Dn. In FIG. 2, as an example, the state in which information regarding a plurality of pixels constituting the image data Dnc among at least one learning data Dn is input to the input layer Li is shown. The class (specific class) corresponding to the image data Dnc is, for example, a cat.

[0021] At least one hidden layer Lh1 to Lh M is connected in series in this order between the input layer Li and the output layer Lo. The hidden layer Lh1 is fully connected to the input layer Li. The hidden layer Lh M is fully connected to the output layer Lo. Hereinafter, the hidden layer Lh M connected to the output layer Lo is also referred to as the last hidden layer. When M is 2 or more, the hidden layer Lh j (j is 1 or more and M - 1 or less) is fully connected to Lh j+1 . Note that each of the plurality of layers included in the neural network Nw does not necessarily have to be fully connected to the layer adjacent to the layer.

[0022] Each of the input layer Li, at least one hidden layer Lh1 to Lh M , and the output layer Lo includes a plurality of neurons. For each of the input layer Li and at least one hidden layer Lh1 to Lh M , the plurality of neurons included in the layer each output a plurality of activation values to the layer connected in the forward direction (the direction from the input layer Li to the output layer Lo) of the layer. The plurality of activation values output from one layer are hereinafter also referred to as an activation value vector.

[0023] The hidden layer Lh M includes neurons N M1 , N M2 , N M3 , N M4 . In FIG. 2, the activation value vector output from the hidden layer Lh M to the output layer is shown as x. That is, the activation value vector x has a plurality of activation values output from the plurality of neurons N M1 ~N M4 as components. Note that the hidden layer Lh MThe number of neurons included may be 3 or less, or 5 or more.

[0024] The output layer Lo contains neurons No. 1 and No. 2. Neurons No. 1 and No. 2 correspond to multiple classes that can be classified by the neural network Nw (for example, mouse and dog). The output vector y has multiple output values ​​as components, each output from the multiple neurons No. 1 and No. 2 contained in the output layer Lo. The class corresponding to the neuron with the largest component among the components of the output vector y is selected as the classification of the image data input to the input layer Li. Note that the number of neurons in the output layer Lo (the number of classes that can be classified by the neural network Nw) may be 3 or more.

[0025] At least one hidden layer Lh1~Lh M Each of the following has a weight matrix and bias vector defined: , and the output layer Lo. The output vector y is defined by the activation value vector x and the weight matrix W of the output layer Lo. ori Using the bias vector b of the output layer Lo, it can be expressed as shown in equation (1) below.

[0026]

number

[0027] Weight matrix W ori This includes multiple weight vectors. The number of dimensions of each weight vector is equal to the number of dimensions of the activation value vector x. Also, the number of weight vectors is equal to the number of dimensions (number of components) of the output vector. That is, each weight vector corresponds to a different neuron in the output layer Lo, and therefore corresponds to a different class that can be classified by the neural network Nw. As an example, the weight matrix W shown in Figure 2. ori This can be expressed as shown in equation (2) below.

[0028]

number

[0029] The i-th component of the output vector y i These are the activity value vector x and the weight vector w i The cosine similarity with cosθ i It can be expressed as shown in equation (3) below, which includes the following. Note that the natural number i is 1 or greater and is less than or equal to the dimension of the output vector y.

[0030]

number

[0031] cosine similarity cosθ i These are the activity value vector x and the weight vector w i It is defined as the value obtained by dividing the inner product of the two by the product of their L2 norms. Cosine similarity cosθ i The weight vector w is the one that most closely resembles the activation value vector x among multiple weight vectors. i It is maximized when this condition is met.

[0032] The neuron corresponding to the cat class in the image data Dnc is not included in the output layer Lo in Figure 2. According to the neural network Nw, the image data Dnc is incorrectly classified into either neuron No. 1 or No. 2. To classify the image data Dnc into the correct class, a new class corresponding to cat needs to be added to the neural network Nw.

[0033] When adding a new class corresponding to image data Dnc to multiple classes classifiable by a neural network Nw, the activation value vector x corresponding to the image data Dnc is used. new (Specific activity value vector) weight matrix W ori By adding it directly, the activation value vector x corresponding to the image data Dnc is generated. new This maximizes the cosine similarity with the new class, and also generates a weight vector corresponding to the new class in the weight matrix W. oriIt can be added to this. Therefore, below, using Figures 3 and 4, as a comparative example of Embodiment 1, the activation value vector x corresponding to the image data Dnc will be shown. new The weight matrix W ori This section explains machine learning methods that can be directly added to the system.

[0034] Figure 3 shows an example of the structure of neural network Nw1A, in which a new class corresponding to the image data Dnc has been added to the neural network Nw in Figure 2 using the machine learning method according to the comparative example of Embodiment 1. The structure of neural network Nw1A has a neuron No. 3 corresponding to the class of the image data Dnc added to the output layer Lo in Figure 2, and the weight matrix W ori This is a structure in which is replaced by W1A. The structure of the weight matrix W1A is the weight matrix W ori Activity value vector x new This is the added configuration. Neuron No. 3, activity value vector x new With the addition of this component, a new component (for example, the median of the original bias vector b) is also added to the bias vector b. The structure of the neural network Nw1A other than these components is the same as that of the neural network Nw, so we will not repeat the explanation of this similar structure.

[0035] Figure 4 shows an example of the distribution Ads of multiple components (activity values) included in the activity value vector x of Figure 2, and the weight matrix W of Figure 2. ori This figure also shows an example of the distribution Wds of the multiple components (weight values) contained in each of the multiple weight vectors that make up the distribution. As shown in Figure 4, in the distribution Wds, most weight values ​​are distributed in the range of -0.2 to 0.2. Furthermore, the distribution Wds exhibits symmetry around the mode near 0. On the other hand, in the distribution Ads, the distribution is biased towards the range greater than -0.2 and less than 0. Therefore, there is no symmetry between the distribution in the range greater than the mode and the distribution in the range less than the mode. Consequently, the statistical characteristics of the distribution Ads (e.g., the mean) can differ significantly from those of the distribution Wds.

[0036] Referring again to Figure 3, the weight matrix W1A contains weight vectors w1 and w2 that have the statistical characteristics of the distribution Ads, and an activation value vector x that has the characteristics of the distribution Wds. new A mixture of these exists. Therefore, the statistical characteristics of the weight matrix W1A are shown in Figure 2, which is the weight matrix W ori The statistical characteristics may differ significantly from those of the weight matrix W. ori The statistical features are the result of optimizations such as backpropagation, therefore the weight matrix W ori Changes in the statistical features can significantly degrade the performance of the original, pre-trained neural network Nw (e.g., accuracy, precision, recall, or F-score). Therefore, when adding a new class to a pre-trained neural network Nw using the machine learning method described in the comparative example, it may be necessary to make various modifications to the pre-trained neural network Nw (e.g., L2 normalization of the activation value vector x and normalization of the weight vector) in order to maintain performance.

[0037] Therefore, in the learning device 100, the weight matrix W ori Quantile normalization using as the reference distribution is applied to the activation value vector x new The normalized vector w obtained by performing this operation on the vector w j The weight matrix W ori Add to the following: Quantile normalization is used to obtain the activation value vector x new The ranks of the multiple components are normalized vector w j The weight matrix W corresponding to the rank is maintained in such a way. ori The statistical values ​​are normalized into a vector w j It is used as a component of the statistic. The statistic includes, for example, the mean of the rank in the standard distribution, or the value identified in the standard distribution by the quantile corresponding to the rank. As a result, the features of the image data corresponding to the new class are normalized into a vector w j While retaining the original weight matrix W ori Without changing the statistical features of the weight matrix W ori Normalized vector w j You can add this.

[0038] According to the learning device and machine learning method of Embodiment 1, regardless of the statistical characteristics of the neural network, it is possible to train a neural network to learn classes corresponding to a small amount of training data while maintaining the performance of the neural network. In other words, without changing or optimizing the multiple weight matrices included in the weight matrix of the neural network, new classes can be trained in the neural network by a general and simple process of adding weight vectors and neurons corresponding to the new class to the neural network whenever it becomes necessary to add a new class. Furthermore, because the neural network is already trained, the high performance of the original neural network can be inherited by the neural network after it has learned the new class.

[0039] Figure 5 shows an example of the structure of neural network Nw1, in which a new class corresponding to the image data Dnc has been added to the neural network Nw in Figure 2 by the learning device 100 in Figure 1. The structure of neural network Nw1 is the same as that of the weight matrix W1A in Figure 3, but with W1 replaced. The weight matrix W1 is composed of an activation value vector x new Next, the weight matrix W ori The normalized vector w is obtained by performing Quantile normalization F with the reference distribution as the reference distribution. j (In Figure 5, j=3) is the weight matrix W ori This is an added configuration. The structure of neural network Nw1 other than these is the same as that of neural network Nw1A, so we will not repeat the explanation of similar structures.

[0040] Among the multiple components contained in the output vector y and the multiple components contained in the bias vector b, the normalized vector w j The components corresponding to each other are y j and b j Let's assume that component y j , normalized vector w j , and component b j These can be expressed as shown in equations (4), (5), and (6) below. Note that the right-hand side of equation (6) is the weight matrix Wori This represents the median of multiple components contained in the corresponding bias vector b.

[0041]

number

[0042] Below, the weight matrix W ori , activation value vector x new Let us take the cases where the following equations (7) and (8) represent the Quantile normalization F in equation (5) as examples to explain one example of the processing flow. Weight matrix W ori If it is represented by equation (7), then the weight matrix W ori The average value of the multiple components contained in it is -0.0075.

[0043]

number

[0044] First, the weight matrix W ori For each of the multiple weight vectors, we identify the multiple ranks corresponding to the multiple components contained within each of them, and calculate the mean value of the components for each of the multiple ranks. Specifically, the weight matrix W in equation (7) ori By sorting the multiple components contained in each of the multiple weight vectors in ascending order, we obtain the matrix W shown in equation (9) below. srt You can obtain this.

[0045]

number

[0046] Matrix W srt The first, second, third, and fourth columns of the equation contain the first, second, third, and fourth components of each weight vector, respectively. The mean values ​​of the first, second, third, and fourth components of the weight vector are -0.15, -0.05, 0.03, and 0.14, respectively, as shown in equation (9).

[0047]

number

[0048] Activity value vector x new The ascending order of the first, second, third, and fourth components of x is as shown in equation (10), being third, second, first, and fourth, respectively. Activation value vector x new By replacing each component with the mean value of the components of the weight vector having the rank of that component, the normalized vector w j This is obtained. That is, the activity value vector x of equation (10) new The first, second, third, and fourth components of are replaced by 0.03 in the third position, -0.05 in the second position, -0.15 in the first position, and 0.14 in the fourth position in equation (9), as shown in equation (11).

[0049] Normalized vector w j The order of multiple components is given by the activity value vector x new This matches the rank of multiple components of the weight matrix W. ori Normalized vector w j The average of multiple components of the weight matrix W1 in Figure 5, to which the added element is located, is -0.0075. ori It is equal to the mean of multiple components. Quantile normalization gives the activation value vector x, which is a feature of the image data corresponding to the new class. new The rank of multiple components is normalized into a vector w j While retaining the original weight matrix W ori Without changing the mean values ​​of multiple components, the weight matrix W ori Normalized vector w j You can add this.

[0050] FIG. 6 is a diagram showing an example of the structure of a neural network Nw2 in which a new class corresponding to the image data Dns is further added to the neural network Nw1 of FIG. 5 by the learning device 100 of FIG. 1. The structure of the neural network Nw2 is such that the weight matrix W1 in FIG. 5 is replaced with W2, and a neuron No4 corresponding to the class of the image data Dns (for example, sunflower) is added to the output layer Lo. The configuration of the weight matrix W2 is such that a normalization vector w new obtained by performing Quantile normalization F with the weight matrix W1 as the reference distribution on the activation value vector x j (j = 4 in FIG. 5) is added to the weight matrix W1. Also, a new component shown by Equation (6) is added to the bias vector b. Since the structures of the neural network Nw2 other than these are the same as those of the neural network Nw1, the description of the same structure will not be repeated.

[0051] FIG. 7 is a flowchart showing an example of the flow of machine learning processing performed by the processor 102 that executes the machine learning program Pg1 of FIG. 1. Hereinafter, steps will be simply described as S.

[0052] As shown in FIG. 7, in S101, the processor 102 calculates the activation value vector output from the last hidden layer for the learning data of the new class, and proceeds to S102. In S102, the processor 102 performs Quantile normalization with reference to the weight matrix of the output layer as the reference distribution on the activation value vector calculated in S101 to calculate the normalization vector, and proceeds to S103. In S103, the processor 102 adds the normalization vector to the weight matrix and proceeds to S104. In S104, the processor 102 adds a neuron corresponding to the new class to the output layer and ends the machine learning processing.

[0053] Table 1 below is a comparison table showing the mean and standard deviation of the accuracy of the DNN after machine learning when using the machine learning method (Qi) of Non-Patent Literature 1, which involves training each of the four known pre-trained DNNs with each of the five new classes using one-shot learning, and when using the machine learning method according to Embodiment 1. As shown in Table 1, the mean accuracy of Embodiment 1 is higher than the mean accuracy of Qi for each of the four pre-trained DNNs.

[0054] [Table 1]

[0055] As described above, according to the learning device, machine learning program, and machine learning method of Embodiment 1, it is possible to train a neural network to learn a class corresponding to a single training data set, while maintaining the performance of the neural network, regardless of the statistical characteristics of the neural network.

[0056] [Embodiment 2] Embodiment 1 described so-called one-shot learning, in which a neural network is trained to learn a class corresponding to a single training data point. Embodiment 2 describes so-called few-shot learning, in which a small number of training data points (two or more) corresponding to a new class are used.

[0057] Figure 8 is a block diagram showing the configuration of the learning device 200 according to Embodiment 2. The configuration of the learning device 200 is the same as that of the machine learning program Pg1 in Figure 1, but with Pg2. At least one training data Dn is a small number of training data Dn1~Dn corresponding to a new class. K This includes cases where (natural number K is 2 or greater). The configuration of learning device 200 is the same as that of learning device 100, so the explanation of similar configurations will not be repeated.

[0058] A small amount of training data Dn1~Dn K When this is input to the input layer of the neural network Nw, the multiple activation value vectors output from the last hidden layer are x1~x K Let's assume that the activation value vector x in equation (5) new In Embodiment 2, the activity value vector x1~x is expressed as shown in equation (12) below. K It is represented as the mean vector (specific activity value vector).

[0059]

number

[0060] Figure 9 is a flowchart showing an example of the machine learning processing flow performed by processor 102, which executes the machine learning program Pg2 shown in Figure 8. The flowchart shown in Figure 9 is a flowchart in which S101 and S102 in Figure 7 are replaced with S201 and S202, respectively.

[0061] As shown in Figure 9, in S201, processor 102 calculates the mean vector of multiple activation value vectors output from the last hidden layer for a small number of training data of a new class, and proceeds to S202. In S202, processor 102 performs Quantile normalization on the mean vector calculated in S201, using the weight matrix of the output layer as the reference distribution, to calculate a normalized vector, and proceeds to S103. Processor 102 then performs S103 and S104, as in Embodiment 1, to complete the machine learning process.

[0062] Table 2 below is a comparison table showing the mean and standard deviation of the accuracy of the DNN after machine learning when using the machine learning method (Qi) of Non-Patent Literature 1, which involves training each of the four known pre-trained DNNs with each of the five new classes using 5-shot learning, and when using the machine learning method according to Embodiment 2. As shown in Table 2, the mean accuracy of Embodiment 2 is higher than the mean accuracy of Qi for each of the four pre-trained DNNs.

[0063] [Table 2]

[0064] Table 3 below is a comparison table showing the mean and standard deviation of the accuracy of the DNN after machine learning when using the machine learning method according to Embodiment 1, in which each of the five new classes is trained on each of the four known pre-trained DNNs, and the accuracy and standard deviation of the DNN after machine learning when using the machine learning method according to Embodiment 2. As shown in Table 3, for each of the four pre-trained DNNs, the mean accuracy of Embodiment 2 is higher than the mean accuracy of Embodiment 1.

[0065] [Table 3]

[0066] As described above, according to the learning device, machine learning program, and machine learning method of Embodiment 2, it is possible to train a neural network to learn classes corresponding to a small amount of training data, while maintaining the performance of the neural network, regardless of the statistical characteristics of the neural network. Furthermore, the performance of the neural network with newly added classes can be improved compared to Embodiment 1.

[0067] Each of the embodiments disclosed this time is also expected to be implemented by being appropriately combined within a non - conflicting range. It should be considered that all of the embodiments disclosed this time are illustrative and not restrictive in any way. The scope of the present invention is indicated by the claims rather than the above description, and it is intended that all modifications within the meaning and scope equivalent to the claims are included.

Explanation of Signs

[0068] 100, 200 Learning device, 101 Storage, 102 Processor, 103 Memory, 104 Network interface, 105 Input / output unit, Ads, Wds Distribution, Dn, Dn1~Dn K Learning data, Dnc, Dns Image data, Lh1~Lh M Hidden layer, Li Input layer, Lo Output layer, N M1 ~N M4 , N o1 ~N o4 Neuron, Nw, Nw1, Nw1A, Nw2 Neural network, Pg1, Pg2 Machine learning program, W1, W1A, W2, W ori Weight matrix, W srt Matrix, b Bias vector, w1, w2, w i Weight vector, w j Normalized vector, x, x1~x [[ID=​​​

Claims

1. A memory unit where the neural network is stored, The system comprises a control unit that causes the neural network to learn a specific class corresponding to at least one training data, The neural network includes an input layer that receives the at least one training data, an output layer that includes a plurality of neurons corresponding to a plurality of classes, and at least one hidden layer connected between the input layer and the output layer. The control unit, From the at least one activation value vector output from the at least one hidden layer to the output layer for each of the aforementioned training data, a specific activation value vector corresponding to the specific class is calculated. Quantile normalization is performed on the specific activity value vector, using the weight matrix of the output layer as the reference distribution, to calculate the normalized vector. The normalized vector is added to the weight matrix, A learning device that adds neurons corresponding to the aforementioned specific class to the output layer.

2. The learning device according to claim 1, wherein the neural network is pre-trained.

3. The aforementioned at least one training data includes specific training data, The learning device according to claim 1 or 2, wherein the specific activity value vector is an activity value vector corresponding to the specific learning data.

4. The aforementioned at least one training data is a plurality of training data, The at least one activation value vector is a plurality of activation value vectors, each corresponding to one of the plurality of training data. The learning device according to claim 1 or 2, wherein the specific activity value vector is the average vector of the plurality of activity value vectors.

5. A machine learning program that trains a neural network to learn a specific class corresponding to at least one training data point, The neural network includes an input layer that receives the at least one training data, an output layer that includes a plurality of neurons corresponding to a plurality of classes, and at least one hidden layer connected between the input layer and the output layer. The aforementioned machine learning program is executed on the processor, From the at least one activation value vector output from the at least one hidden layer to the output layer for each of the aforementioned training data, a specific activation value vector corresponding to the specific class is calculated. Quantile normalization is performed on the specific activity value vector, using the weight matrix of the output layer as the reference distribution, to calculate the normalized vector. The normalized vector is added to the weight matrix, A machine learning program that adds neurons corresponding to the aforementioned specific class to the output layer.

6. A machine learning method that trains a neural network to recognize a specific class corresponding to at least one training data point, The neural network includes an input layer that receives the at least one training data, an output layer that includes a plurality of neurons corresponding to a plurality of classes, and at least one hidden layer connected between the input layer and the output layer. The aforementioned machine learning method is A step of calculating a specific activation value vector corresponding to the specific class from at least one activation value vector output from the at least one hidden layer to the output layer for the at least one training data, The steps include: performing Quantile normalization on the specific activity value vector, referencing the weight matrix of the output layer as the reference distribution, to calculate the normalized vector; The steps include adding the normalized vector to the weight matrix, A machine learning method comprising the step of adding neurons corresponding to the specified class to the output layer.