Learning device, learning method, and program
The learning device enhances data classification by estimating classification probabilities using a machine learning model with both similar and dissimilar data, addressing the lack of probability output in existing techniques and improving accuracy.
Patent Information
- Application Number
- JP2024522771
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-05-24
- Publication Date
- 2026-01-16
- Estimated Expiration
- 2042-05-24
AI Technical Summary
Existing data classification techniques can accurately determine the correctness of classification but fail to output the probability of belonging to each class.
A learning device that utilizes a machine learning model to estimate classification probabilities by incorporating feature vectors from both similar and dissimilar data, enhancing the classification probability correction vector calculation to output probabilities for each class.
Enables the output of classification probabilities alongside correctness/incorrectness, improving accuracy in determining the probability of each class and enhancing robustness against unknown data.
Smart Images

Figure 0007800671000005 
Figure 0007800671000006 
Figure 0007800671000007
Abstract
Description
[Technical Field]
[0001] The present invention relates to a technology for classifying information. One example of an application field of this technology is a technology for security operators who manage security systems against cyber attacks, such as intrusion prevention systems (IPS) and antivirus software, to automatically classify threat information using machine learning technology. [Background technology]
[0002] Security operators who handle security systems against cyber attacks compile threat information about cyber attack activities, including attackers, their actions and methods, vulnerabilities, etc. This threat information needs to be generated daily, so security operators need to continuously and sequentially classify the threat information.
[0003] Examples of conventional classification techniques include those disclosed in Patent Documents 1 and 2. These conventional techniques propose a technique for automatically determining whether data classification is correct, which enables semi-automation of data classification work by leaving the task of classifying data that is thought to be incorrect to a human. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Publication No. 2020-024513 [Patent Document 2] Japanese Patent Publication No. 2020-160642 Summary of the Invention [Problem to be solved by the invention]
[0005] In the prior art, data classification can be performed and the accuracy of the classification can be determined with high accuracy, but there is a problem in that the probability of belonging to each classified class cannot be output.
[0006] The present invention has been made in view of the above points, and aims to provide a technique that makes it possible to output the probability of belonging to each class in addition to the correctness or incorrectness of classification of certain data. [Means for solving the problem]
[0007] According to the disclosed technology, there is provided a learning device that performs learning of a machine learning model that outputs information used to estimate a classification probability for each class, the learning device comprising: Data for estimation process in data classification The score for each class is a classification estimation process observation unit that generates an estimation process feature vector based on the a learning unit that uses, as an input to the machine learning model, a feature vector list obtained by adding at least a second estimation process feature vector obtained from data different from the data to be classified to a first estimation process feature vector obtained from the data to be classified, and uses, as a correct answer to the input to the machine learning model, a classification ratio vector list obtained by adding at least a second classification ratio vector different from the first classification ratio vector to a first classification ratio vector that is a correct answer for the data to be classified; and A learning device is provided, comprising: [Effects of the Invention]
[0008] According to the disclosed technology, it is possible to output the probability of belonging to each class in addition to the correctness or incorrectness of classification of certain data. [Brief explanation of the drawings]
[0009] [Figure 1] 1 is a diagram for explaining an outline of an embodiment of the present invention; [Figure 2] 1 is a diagram for explaining an outline of an embodiment of the present invention; [Figure 3] 1 is a configuration diagram of a classification device according to an embodiment of the present invention. [Figure 4] 10 is a flowchart illustrating a generation method of the classification probability correction vector calculation unit. [Figure 5] FIG. 2 illustrates an example of a hardware configuration of the apparatus. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, an embodiment of the present invention (the present embodiment) will be described with reference to the drawings. The embodiment described below is merely an example, and the embodiment to which the present invention is applied is not limited to the following embodiment.
[0011] (Outline of the embodiment) An outline of this embodiment will be described with reference to Fig. 1. Fig. 1(a) shows an image of the prior art, in which only one accuracy rate is output from a function (neural network) that calculates the certainty of classification.
[0012] In contrast, in the technique according to this embodiment shown in FIG. 1(b), the function for calculating the certainty of classification outputs all the probabilities of belonging to each class.
[0013] 2 shows an overview of the processing contents of the classification device according to this embodiment. The Classifier (corresponding to the classification estimation unit 110 described later) performs learning using input data and correct classes. During this learning, the classification estimation unit 110 predicts the class of the data multiple times. The proportions of the predicted classes are used as training data for the multi-class confidence calculation function in the Rejector (corresponding to the classification probability correction vector calculation unit 122 described later).
[0014] For example, for a given data set, if during supervised learning the classifier predicted class A 70 times, class B 20 times, and class C 10 times, the label would be [0.7, 0.2, 0.1].
[0015] The predicted class proportions (the labels) are used as correct data to train the multi-class confidence calculation function, which can provide a multi-class confidence calculation function (classification probability correction vector calculation unit 122) that can predict the probability of data belonging to each class with high accuracy.
[0016] Furthermore, in this embodiment, when the classification probability correction vector calculation unit 122 learns, it additionally uses feature vectors obtained from data that are dissimilar to the data to be classified, thereby improving the performance of approximating the probability of each class to a uniform distribution for unknown data.
[0017] The configuration and operation of the classification device according to this embodiment will be described in detail below.
[0018] (Device configuration example) Fig. 3 shows a functional configuration diagram of a classification device 100 according to an embodiment of the present invention. As shown in Fig. 3, the classification device 100 includes a classification estimation unit 110 and an error determination processing unit 120. The error determination processing unit 120 includes a classification estimation process observation unit 121, a classification probability correction vector calculation unit 122, a classification probability estimation unit 123, and an error determination unit 124.
[0019] The classification device 100 may also include a learning unit 130. The learning unit 130 performs learning operations such as parameter adjustment in supervised learning of the classification estimation unit 110, the classification probability correction vector calculation unit 122, etc. Note that, in a state where learning has already been completed, the learning unit 130 may not be included. Furthermore, a device including the learning unit 130 as shown in FIG. 3 may also be called a learning device.
[0020] The classification estimation unit 110 and the error determination processing unit 120 may be configured as separate devices connected via a network, in which case the error determination processing unit 120 may be referred to as an error determination device. Also, a device including the classification estimation unit 110 and the error determination processing unit 120 may be referred to as an error determination device. An overview of the operation of each unit during inference in the classification device 100 is as follows.
[0021] (Operation overview) First, data to be classified is input to the classification estimation unit 110. Data to be classified is data that is to be classified in some way using this system, and corresponds to threat information, for example.
[0022] The classification estimation unit 110 estimates the classification of the data to be classified. The method or model for the estimation is assumed to be an artificial intelligence-related technique such as SVM or neural network, but is not limited to these.
[0023] The classification estimation process observation unit 121 observes the calculation process when the classification estimation unit 110 estimates the data to be classified, converts it into a feature vector (feature vector of the estimation process), and outputs the feature vector.
[0024] The classification probability correction vector calculation unit 122 receives the feature vector of the estimation process from the classification estimation process observation unit 121, and calculates a vector for correcting the classification probability. This classification probability correction vector calculation unit 122 is generated by machine learning. The method of generation will be described later.
[0025] The classification probability correction vector output from the classification probability correction vector calculation unit 122 is a numeric vector used to correct the classification probability, and is a real-valued vector having a dimension equal to the number of classes. Note that the classification probability correction vector output from the classification probability correction vector calculation unit 122 may itself be used as a vector of the probability of the data to be classified belonging to each class (estimated probability vector for each class).
[0026] The classification probability estimation unit 123 receives the feature vector of the estimation process from the classification estimation process observation unit 121 and the classification probability correction vector from the classification probability correction vector calculation unit 122, and calculates the probability that the data to be classified belongs to each class. There are multiple implementation methods, and details will be described later. The feature vector of the estimation process, a part of the feature vector of the estimation process, or the classification probability correction vector may be output as is. In other words, the classification probability estimation unit 123 may not be provided, and the classification probability correction vector calculation unit 122 may be used as the classification probability estimation unit 123.
[0027] The classification probability correction vector calculation unit 122 and the classification probability estimation unit 123 may be collectively referred to as a “probability estimation unit.” A functional unit including the classification probability correction vector calculation unit 122 and the classification probability estimation unit 123 may be referred to as a “probability estimation unit.”
[0028] The error determination unit 124 receives the classification results, the feature vectors of the estimation process, and the estimated probabilities for each classification from the classification estimation unit 110, the classification estimation process observation unit 121, and the classification probability estimation unit 123, respectively, and determines whether the classification estimated by the classification estimation unit 110 is "correct" or "incorrect" based on these. The error determination unit 123 also outputs the error determination results, the classification results, and the estimated probability vectors for each class as the results for the entire system. Note that only some of the error determination results, the classification results, and the estimated probability vectors for each class may be output. For example, only the estimated probability vectors for each class may be output.
[0029] The classification result is the classification result of the data to be classified, and indicates one or more "classes" determined from a predetermined class list.
[0030] The estimated probability vector for each class is the probability value for each class output by the classification probability estimation unit 123. For example, assuming that certain data is classified into classes A, B, and C, the probability that the classification is A is 0%, B is □%, and C is △%. The error determination result is the determination result as to whether or not the classification is incorrect.
[0031] The processing operations of each unit in the error determination processing unit 120 will be described in detail below.
[0032] (Classification and Estimation Process Observation Unit 121) First, we will explain the classification and estimation process observation unit 121. The classification and estimation process observation unit 121 observes the calculation process (data in the estimation process) when the classification and estimation unit 110 estimates data to be classified, and constructs and outputs a feature vector (feature vector in the estimation process).
[0033] The constructed feature vector basically differs depending on the model in the classification estimation unit 110. Here, the following (1), (2), and (3) will be explained as examples of typical feature vectors.
[0034] (1) A feature vector that can be commonly constructed by any classification estimation module (classification estimation unit) Examples of feature vectors that can be commonly configured in any classification estimation module include (1-1) and (1-2) below.
[0035] (1-1) Feature vectors obtained by converting the data to be classified into numerical vectors When the classification estimation unit 110 is constructed using a machine learning model, the data to be classified is internally converted into a feature vector, which is a vector of numerical values. This vector of numerical values is observed and used as the feature vector for the estimation process. Specifically, for example, similar to the method disclosed in Patent Document 2, the feature vector may be constructed by concatenating the values of each node in the intermediate layer and each node in the output layer in a neural network corresponding to the classification estimation unit 110.
[0036] (1-2) Estimated probability vector for each class When the classification estimation unit 110 is constructed using a machine learning model that performs multi-class classification, classification scoring is performed for each class. The scoring is observed, converted into probability values, and arranged to create a probability vector for each estimated class, which is used as the feature vector for the estimation process.
[0037] Specifically, the classification estimation process observation unit 121 converts the scores (real values) for each class obtained by observing the classification estimation unit 110 into a vector of probabilities using a softmax function. That is, in the case of n-class classification, the scores for each class are expressed as a1,...,a n Then, the probability of class k is p k For example, it can be calculated as follows:
[0038]
number
[0039] Alternatively, the predicted score of any classifier may be used as the feature vector in the estimation process. For example, when the classification / estimation unit 110 performs class classification using a Support Vector Machine (SVM), the distance from the boundary surface can be observed as the predicted score and used as the feature vector in the estimation process.
[0040] (3) Feature vector of the ensemble classifier When the classification estimation unit 110 is configured with multiple machine learning models, each machine learning model can acquire one or more of the above-mentioned "feature vector obtained by converting data to be classified into a numerical vector," "estimated probability vector for each estimated class," and "logit vector." A vector obtained by concatenating the vectors of the multiple machine learning models can be output as the feature vector for the estimation process.
[0041] (Error determination unit 124) Next, the error determination unit 124 will be described. As shown in Fig. 3, the error determination unit 124 receives the classification result, the feature vector of the estimation process, and the estimated probability for each class, and determines whether the classification estimated by the classification estimation unit 110 is "correct" or "incorrect" based on these. Note that the determination may use only one of the feature vector of the estimation process and the estimated probability for each class.
[0042] Moreover, the error determining unit 124 outputs the error determination result, the classification result, and the estimated probability for each class as the results for the entire system.
[0043] The error determination method executed by the error determination unit 124 is not limited to a specific method, but may be, for example, any of the following methods 1 to 3. Any two or all of methods 1 to 3 may be applied in combination. Furthermore, the following methods 1 to 3 are examples, and methods other than the following methods 1 to 3 may also be used.
[0044] [Method 1] In method 1, the error determination unit 124 performs threshold determination on an index called a confidence level. Specifically, the error determination unit 124 obtains the maximum value of the estimated probabilities for each class and sets this maximum value as the confidence level. If the confidence level is equal to or greater than a set threshold, the classification result into that class is determined to be "correct," and if it is less than the set threshold, it is determined to be "incorrect."
[0045] In addition, the user can arbitrarily set the error determination unit 124 to calculate the confidence level using any of the classification results, the feature vectors of the estimation process, or the estimated probability for each class.
[0046] For example, the error determination unit 124 may determine the confidence level as the difference (m1-m2) between the maximum value (m1) of the estimated probability for each class and the second largest value (m2). The estimated probability of any rank, such as the maximum value and the third value, the fourth value, etc., can also be calculated in the same way.
[0047] [Method 2] In Method 2, the error determination unit 124 performs a threshold determination on an index called uncertainty. Specifically, the error determination unit 124 calculates the average information content (entropy) of the estimated probability for each class and sets this value as the uncertainty. If the uncertainty is equal to or greater than a set threshold, the classification result is determined to be "incorrect," and if it is less than the threshold, the classification result is determined to be "correct."
[0048] In n-class classification, the probability of each class is p1, ,p nThen, the average information content can be calculated as follows:
[0049]
number
[0050] [Method 3] The judgment may be made by an error judgment unit created by machine learning, as in the conventional techniques disclosed in Patent Documents 1 and 2. It is also possible to make the judgment using any conventional technique other than the conventional techniques disclosed in Patent Documents 1 and 2.
[0051] (Classification probability estimation unit 123) Next, the classification probability estimation unit 123 will be described in detail. As shown in Fig. 3, the classification probability estimation unit 123 receives the feature vector of the estimation process and the classification probability correction vector, and calculates the estimated probability vector for each class. The implementation method is not limited to a specific method, but for example, methods 1 to 3 described below can be used. Note that the method that can be implemented depends on what is included in the feature vector of the estimation process.
[0052] [Method 1] If the feature vector in the estimation process includes an "estimated probability for each class," the classification probability estimation unit 123 extracts the "estimated probability for each class" and outputs it as an estimated probability vector for each class. In this case, the extracted "estimated probability for each class" may be output as is, or may be corrected using a classification probability correction vector before being output. The correction may be, for example, taking the average of the extracted "estimated probability for each class" and the estimated probability for each class in the classification probability correction vector, or may be performed after other processing.
[0053] [Method 2] In method 2, the classification probability estimation unit 123 outputs the classification probability correction vector as an estimated probability vector for each class. In this case, the classification probability estimation unit 123 may not be provided, and the classification probability correction vector calculation unit 122 may be used as the classification probability estimation unit 123.
[0054] [Method 3] In Method 3, if the feature vector of the estimation process includes the "logit vector" shown in (2) of the classification estimation process observation unit 121, an estimated probability vector for each class is calculated using either Method 3-1 or Method 3-2 below.
[0055] [Method 3-1] For n-class classification, the logit vector is [a1, ,a n ] T , the classification probability correction vector is [b1, ,b n ] T Then, the probability of class k is p k For example, it can be calculated as follows:
[0056]
number
[0057] [Method 3-2] For n-class classification, the logit vector is [a1, ,a n ] T , the classification probability correction vector is [b1, ,b n ] T The maximum value of the elements in the classification probability correction vector is b max and obtain the probability p k is calculated as follows:
[0058]
number
[0059] (Classification probability correction vector calculation unit 122) Next, the classification probability correction vector calculation unit 122 will be described in detail. As shown in Fig. 3, the classification probability correction vector calculation unit 122 receives the feature vector of the estimation process, and calculates and outputs the classification probability correction vector. The classification probability correction vector is an n-dimensional real-valued vector when classification is performed into n classes.
[0060] The classification probability correction vector calculation unit 122 is constructed using a machine learning model that can estimate a plurality of real values. The method of generation (parameter tuning) of the classification probability correction vector calculation unit 122 will be described later.
[0061] As a machine learning model that can estimate a plurality of real values and is used as the classification probability correction vector calculation unit 122, for example, a neural network, a logistic regression, a support vector regression (SVR), or the like can be used. And so on.
[0062] When a neural network is used as the classification probability correction vector calculation unit 122, multiple real values can be estimated with a single model. However, logistic regression and SVR cannot estimate multiple real values by themselves. In such cases, n machine learning models are prepared and real values corresponding to each class are inferred.
[0063] Note that the listed models, such as neural networks, logistic regression, and support vector regression, are merely examples, and any machine learning model can be used as long as it has a structure that allows multiple real values to be estimated using a machine learning model.
[0064] (Generation method of classification probability correction vector calculation unit 122) Next, the generation method (parameter adjustment method, machine learning model learning method) of the classification probability correction vector calculation unit 122 will be explained in accordance with the steps in the flowchart of FIG. 4. Here, it is assumed that the number of categories is n. In the following explanation, for ease of understanding, (A) will be added to the "list of classification target data for learning," (B) will be added to the "list of classification ratios for each classification target data for learning," and (C) will be added to the "list of estimation process feature vectors." Note that the classification ratios for each classification target data for learning may also be called a classification ratio vector.
[0065] In the following description, it is assumed that each part is implemented by a neural network, but this is just one example.
[0066] The following learning-related processes are executed by the learning unit 130. The learning unit 130 includes a function for storing learning data (such as a memory), a parameter adjustment function (such as a function for executing an error backpropagation method), etc. An apparatus including the learning unit 130, the classification estimation process observation unit 121, and the classification probability correction vector calculation unit 122 may be called a learning apparatus 100.
[0067] <s1> In S1 (step 1), (A) a list of data to be classified for learning and the classification estimation unit 110 before parameter adjustment are prepared and stored in the learning unit 130. (A) The list of data to be classified for learning is a list of data, and for example, if there are two pieces of data, the list is in the form of [data1, data2].
[0068] <s2> The classification estimation unit 110 adjusts parameters using a general supervised learning method. During this process, the learning unit 130 acquires (B) a classification ratio list for each learning data set to be classified. (B) A classification ratio list for each learning data set to be classified will now be described.
[0069] Neural networks are a typical example, but in general supervised learning, data is classified multiple times during the process. Through this repetition, a list of classification ratios for each training target data is created, which is (B) a list of classification ratios for each training target data.
[0070] For example, when classifying into three classes, suppose the neural network classifies data 1 and data 2 100 times during the learning process. During that process, data 1 is classified into class 1 50 times, class 2 30 times, and class 3 20 times. Also, suppose data 2 is classified into class 1 10 times, class 2 70 times, and class 3 20 times. In this case, (B) the classification ratio list for each classification target data for learning is [[0.5,0.3,0.2]] T ,[0.1,0.7,0.2] T In the following description, for the sake of simplicity, the symbol T for transposition will not be used even when vectors are transposed.
[0071] <s3> In S3, each element of (A) the learning classification target data list is input to the classification estimation unit 110 whose parameters were adjusted in S2, and the classification estimation process observation unit 121 obtains a feature vector of the estimation process, which is then used as (C) the estimation process feature vector list.
[0072] For example, if (A) the learning data list to be classified is a list consisting of two elements, [data1, data2], data1 is input to the classification estimation unit 110, and the classification estimation process observation unit 121 obtains a feature vector of the estimation process, and data2 is input to the classification estimation unit 110, and the classification estimation process observation unit 121 obtains a feature vector of the estimation process.
[0073] As an example, if the feature vector for data1 is [0.5, 0.4, 0.7, 0.2] and the feature vector for data2 is [0.3, 0.2, 0.8, 0.1], then (C) the estimation process feature vector list will be [[0.5, 0.4, 0.7, 0.2], [0.3, 0.2, 0.8, 0.1]].
[0074] <s4> In S4, multiple pseudo feature vectors generated using random numbers or the like are added to the estimation process feature vector list (C). In addition, n-dimensional vectors with all elements set to 1 / n are added to the classification ratio list for each learning classification target data (B) in the same number as the pseudo feature vectors added to (C). For example, when classifying into three classes, the vectors added to (B) are [1 / 3, 1 / 3, 1 / 3]. The number of vectors to be added is set by the user of the classification device.
[0075] For example, if two pseudo feature vectors [0.1,0.8,0.5,0.1] and [0.1,0.3,0.9,0.0] are added to the (C) estimation process feature vector list [[0.5,0.4,0.7,0.2], [0.3,0.2,0.8,0.1]], the (C) estimation process feature vector list after the addition becomes [[0.5,0.4,0.7,0.2], [0.3,0.2,0.8,0.1], [0.1,0.8,0.5,0.1], [0.1,0.3,0.9,0.0]].
[0076] In this case, two n-dimensional vectors with all elements set to 1 / n are added to the classification ratio list for each training data (B). If n=3 and the current classification ratio list for each training data (B) is [[0.5,0.3,0.2],[0.1,0.7,0.2]], the classification ratio list for each training data (B) after the additions will be [[0.5,0.3,0.2],[0.1,0.7,0.2], [1 / 3,1 / 3,1 / 3], [1 / 3,1 / 3,1 / 3]].
[0077] By making the above additions, the system becomes more robust against random feature vectors and improves the accuracy of classification of threat information with unknown features.
[0078] Here, each element of the n-dimensional vector to be added to the classification ratio list for each classification target data for learning (B) is set to 1 / n, but each element may have any value. For example, each element may be set to 0.
[0079] <s5> Here, the process of S5 is performed after S4, but the process of S5 may be performed before S4 (after S3). Also, S5 may be performed without performing S4.
[0080] In S5, by inputting arbitrary data that is not similar to the data contained in (A) the learning classification target data list into the classification estimation unit 110, multiple feature vectors obtained from the classification estimation process observation unit 121 are added to (C) the estimation process feature vector list.
[0081] Then, n-dimensional vectors with all elements set to 1 / n are added to (B) the classification ratio list for each classification target data for learning in the same number as the feature vectors added to (C) the estimation process feature vector list.
[0082] For example, if the number of additions is 2, and two feature vectors [0.0, 0.4, 0.5, 0.3] and [0.9, 0.3, 0.1, 0.5] are obtained by the classification estimation process observation unit 121 from "two data that are not similar to the data included in the (A) learning classification target data list," and these are added to the current (C) estimation process feature vector list [[0.5, 0.4, 0.7, 0.2], [0.3, 0.2, 0.8, 0.1], [0.1, 0.8, 0.5, 0.1], [0.1, 0.3, 0.9, 0.0]], the (C) estimation process feature vector list after addition will be [[0.5, 0.4, 0.7, 0.2], [0.3, 0.2, 0.8, 0.1], [0.1,0.8,0.5,0.1],[0.1,0.3,0.9,0.0], [0.0,0.4,0.5,0.3],[0.9,0.3,0.1,0.5]].
[0083] In this case, two n-dimensional vectors with all elements set to 1 / n are added to the classification ratio list for each training data (B). When n=3, the current classification ratio list for each training data (B) is [[0.5,0.3,0.2],[0.1,0.7,0.2], [1 / 3,1 / 3,1 / 3], [1 / 3,1 / 3,1 / 3]], so after the additions, the classification ratio list for each training data (B) becomes [[0.5,0.3,0.2],[0.1,0.7,0.2],[1 / 3,1 / 3,1 / 3], [1 / 3,1 / 3,1 / 3], [1 / 3,1 / 3,1 / 3], [1 / 3,1 / 3,1 / 3]].
[0084] Here, each element of the n-dimensional vector to be added to the classification ratio list for each classification target data for learning (B) is set to 1 / n, but each element may have any value. For example, each element may be set to 0.
[0085] In addition, in each of S4 and S5, the value of each element of the n-dimensional vector to be added to the classification ratio list for each training data item (B) may be set by the user in consideration of the implementation method of the classification probability correction vector calculation unit 122 or the classification probability estimation unit 123.
[0086] Specifically, for example, if the classification probability correction vector output by the classification probability correction vector calculation unit 122 is a probability vector (the sum of the elements is 1), the value of each element of the n-dimensional vector is set to 1 / n. If the sum of the elements of the classification probability correction vector output by the classification probability correction vector calculation unit 122 does not need to be 1, the value of each element of the n-dimensional vector may be 0, or each element may be the same value other than 0.
[0087] Furthermore, for example, if the classification probability estimation unit 123 is implemented in the above-mentioned [Method 2], the value of each element of the n-dimensional vector is set to 1 / n. Furthermore, for example, if the classification probability estimation unit 123 is implemented in the above-mentioned [Method 3-1] or [Method 3-2], if the classification probability correction vector is a probability vector, the value of each element of the n-dimensional vector is set to 1 / n, and if it is not assumed to be a probability vector, the value of each element of the n-dimensional vector is set to 0. Setting the value of each element of the n-dimensional vector to 0 can enhance the effect of uniformly distributing the classification probability for unknown data.
[0088] <s6> In S6, the estimation process feature vector list (C) processed in S5 is input, and the classification ratio list for each learning classification target data (B) processed in S5 is output (correct answer), and the classification probability correction vector calculation unit 122 is generated by supervised learning. In other words, the parameters of the classification probability correction vector calculation unit 122 are adjusted by supervised learning.
[0089] Using the example in S5, (C) the estimation process feature vector list is [[0.5,0.4,0.7,0.2], [0.3,0.2,0.8,0.1], [0.1,0.8,0.5,0.1], [0.1,0.3,0.9,0.0], [0.0,0.4,0.5,0.3], [0.9,0.3,0.1,0.5]], and (B) the classification ratio list for each learning classification target data is [[0.5,0.3,0.2], [0.1,0.7,0.2], [1 / 3,1 / 3,1 / 3], [1 / 3,1 / 3,1 / 3], [1 / 3,1 / 3,1 / 3], [1 / 3,1 / 3,1 / 3]]. Here, for ease of understanding, let us denote the vector of each element in the input list by xi and the vector of each element in the output (correct answer) list by yi, as follows:
[0090] (C) The estimation process feature vector list (input) is [[0.5,0.4,0.7,0.2], [0.3,0.2,0.8,0.1], [0.1,0.8,0.5,0.1],[0.1,0.3,0.9,0.0], [0.0,0.4,0.5,0.3],[0.9,0.3,0.1,0.5]] = [x1,x2,x3,x4,x5], and (B) the classification ratio list (correct answer) for each learning classification data is [[0.5,0.3,0.2],[0.1,0.7,0.2],[1 / 3,1 / 3,1 / 3], [1 / 3,1 / 3,1 / 3], [1 / 3,1 / 3,1 / 3], [1 / 3,1 / 3,1 / 3]] = The result is [y1,y2,y3,y4,y5].
[0091] Here, if the model (classification probability correction vector calculation unit 122) is represented by f, the parameters of f are adjusted by the learning in S6 so that y1=f(x1), y2=f(x2), y3=f(x3), y4=f(x4), y5=f(x5), y6=f(x6).
[0092] (Data used in S5) The "any data that is not similar to the data included in the learning classification target data list" in S5 above refers to, for example, the following data.
[0093] For example, if the handwritten digit recognition dataset called MNIST is used as the list of data to be classified for training, datasets called Fashion-MNIST and CIFAR10 are examples of "any data that is not similar to the data contained in the list of data to be classified for training."
[0094] MNIST consists of images of handwritten digits 0, 1, 2, ..., 9, while Fashion-MNIST is a dataset consisting of images of clothing such as shirts and dresses, and CIFAR10 is a dataset consisting of images of dogs, cars, etc. Thus, the greater the difference between "data dissimilar to data contained in the training data list" and "data contained in the training data list," the better. The "difference" may be a difference in the type of data, the appearance of the data (e.g., images of the same type but significantly different in appearance), or something else. The "type of data" may be the type of thing the image represents, as in the examples of MNIST, Fashion-MNIST, and CIFAR10, or it may be a type that represents a difference in the data format (pixels, character code, etc.) represented by a computer, such as between an image and text.
[0095] Furthermore, "any data that is not similar to the data contained in the learning classification target data list" does not require a label indicating a class.
[0096] (Example of hardware configuration) The classification device 100, learning device, error detection device, etc. described above can be realized by, for example, causing a computer to execute a program describing the processing content described in this embodiment. This computer may be a physical computer or a virtual machine on the cloud. Hereinafter, the classification device 100, learning device, error detection device, etc. will be collectively referred to as "devices."
[0097] That is, the device can be realized by executing a program corresponding to the processing performed by the device using hardware resources such as a CPU and memory built into a computer. The program can be recorded on a computer-readable recording medium (such as a portable memory) and stored or distributed. The program can also be provided via a network such as the Internet or email.
[0098] Fig. 5 is a diagram showing an example of the hardware configuration of the computer. The computer in Fig. 5 includes a drive device 1000, an auxiliary storage device 1002, a memory device 1003, a CPU 1004, an interface device 1005, a display device 1006, an input device 1007, an output device 1008, and the like, all of which are interconnected by a bus BS.
[0099] A program for realizing processing on the computer is provided by a recording medium 1001 such as a CD-ROM or a memory card. When the recording medium 1001 storing the program is set in the drive device 1000, the program is installed from the recording medium 1001 to the auxiliary storage device 1002 via the drive device 1000. However, the program does not necessarily have to be installed from the recording medium 1001, but may be downloaded from another computer via a network. The auxiliary storage device 1002 stores the installed program as well as necessary files, data, etc.
[0100] The memory device 1003 reads and stores a program from the auxiliary storage device 1002 when an instruction to start the program is received. The CPU 1004 realizes the functions related to the device in accordance with the program stored in the memory device 1003. The interface device 1005 is used as an interface for connecting to a network, etc. The display device 1006 displays a GUI (Graphical User Interface) or the like according to the program. The input device 1007 is composed of a keyboard, mouse, buttons, a touch panel, etc., and is used to input various operation instructions. The output device 1008 outputs the results of calculations.
[0101] (Effects of the embodiment) The technology according to this embodiment makes it possible to output the probability of each class for certain data in addition to determining whether it is true or false. For example, assume that certain data is classified into classes A, B, and C. The classification device 100 can estimate the probability of classification as A, B, C, and present it to a person, such as 〇%, □%, and △%, respectively.
[0102] Furthermore, in the technology according to this embodiment, the proportion of classification estimated for each piece of training data during training by the classification estimation unit 110 is acquired and used for training by the classification probability correction vector calculation unit 122. This innovation improves the accuracy of determining whether something is true or false compared to conventional techniques, and also improves the accuracy of estimating the probability of each class estimated within the system.
[0103] (Effects related to the classification probability correction vector calculation unit 122) When estimating the classification of unknown data (data generated outside the distribution of training data), it is possible that the accuracy of the error judgment and the estimation of the probability for each class will decrease. For example, even if a model is trained to classify images of handwritten digits 0 to 9 into one of the classes 0 to 9 (10 classes), the estimation accuracy may decrease if an image that is not a handwritten digit image of 0 to 9, such as a photo of a car, is acquired. In this case, it is ideal that the error judgment is "error" and the estimation accuracy for each class is estimated to be [1 / 10, 1 / 10, ..., 1 / 10], but there may be cases where this is not the case.
[0104] Therefore, in this embodiment, as described above, in the generation (learning) of the classification probability correction vector calculation unit 122, an estimation process feature vector based on "arbitrary data dissimilar to the data contained in the classification target data list for learning" (unlabeled data obtained from a distribution different from that of the learning data) is added as input data for learning, and correspondingly, an n-dimensional vector having the same elements is added to the correct classification ratio list.
[0105] This increases the probability of determining an "error" for unknown data, and also improves the ability to approximate the probability of each class to a uniform distribution for unknown data. For example, the probability of classification A can be output as 25%, B as 25%, C as 25%, and D as 25%.
[0106] (Addendum) The following additional clauses are disclosed in relation to the above-described embodiment. (Additional note 1) A learning device that performs learning of a machine learning model that outputs information used to estimate a classification probability for each class, Memory and at least one processor coupled to said memory; Including, The processor: generating an estimation process feature vector based on data of an estimation process in data classification; The machine learning model is trained by using, as an input to the machine learning model, a feature vector list in which at least a second estimation process feature vector obtained from data different from the data to be classified is added to a first estimation process feature vector obtained from the data to be classified, and a classification ratio vector list in which at least a second classification ratio vector different from the first classification ratio vector is added to a first classification ratio vector that is a correct answer for the data to be classified, as a correct answer to the input to the machine learning model. Learning device. (Additional note 2) The data that is different from the data to be classified is data that is dissimilar to the data to be classified. Item 1. A learning device according to item 1. (Additional note 3) The second classification ratio vector is a classification ratio vector having the same value for the number of classes. 3. The learning device according to claim 1 or 2. (Additional note 4) A learning method executed by a learning device that performs learning of a machine learning model that outputs information used to estimate a classification probability for each class, comprising: a classification estimation process observation step of generating an estimation process feature vector based on data of the estimation process in data classification; a learning step of learning the machine learning model by using, as an input to the machine learning model, a feature vector list obtained by adding at least a second estimation process feature vector obtained from data different from the data to be classified to a first estimation process feature vector obtained from the data to be classified, and by using, as a correct answer to the input to the machine learning model, a classification ratio vector list obtained by adding at least a second classification ratio vector different from the first classification ratio vector to a first classification ratio vector that is a correct answer for the data to be classified; A learning method that includes: (Additional note 5) A non-transitory storage medium storing a program for causing a computer to function as each part of the learning device described in any one of appendixes 1 to 3.
[0107] Although the present embodiment has been described above, the present invention is not limited to such a specific embodiment, and various modifications and changes are possible within the scope of the gist of the present invention described in the claims. [Explanation of symbols]
[0108] 100 Classifier 110 Classification estimation part 120 Error detection processing unit 121 Classification and Estimation Process Observation Unit 122 Classification probability correction vector calculation unit 123 Classification Probability Estimation Unit 124 Error detection unit 130 Learning Department 1000 Drive Device 1001 Recording media 1002 Auxiliary storage device 1003 Memory device 1004 CPU 1005 Interface device 1006 Display device 1007 Input Device 1008 Output Device
Claims
1. A learning device that performs learning of a machine learning model that outputs information used to estimate a classification probability for each class, a classification estimation process observation unit that generates an estimation process feature vector based on the score for each class, which is data of the estimation process in data classification; a learning unit that uses, as an input to the machine learning model, a feature vector list obtained by adding at least a second estimation process feature vector obtained from data different from the data to be classified to a first estimation process feature vector obtained from the data to be classified, and uses, as a correct answer to the input to the machine learning model, a classification ratio vector list obtained by adding at least a second classification ratio vector different from the first classification ratio vector to a first classification ratio vector that is a correct answer for the data to be classified; and A learning device comprising:
2. The data that is different from the data to be classified is data that is dissimilar to the data to be classified. The learning device according to claim 1 .
3. The second classification ratio vector is a classification ratio vector having the same value for the number of classes. The learning device according to claim 1 .
4. A learning method executed by a learning device that performs learning of a machine learning model that outputs information used to estimate a classification probability for each class, comprising: a classification estimation process observation step of generating an estimation process feature vector based on the scores for each class, which are data of the estimation process in data classification; a learning step of learning the machine learning model by using, as an input to the machine learning model, a feature vector list obtained by adding at least a second estimation process feature vector obtained from data different from the data to be classified to a first estimation process feature vector obtained from the data to be classified, and by using, as a correct answer to the input to the machine learning model, a classification ratio vector list obtained by adding at least a second classification ratio vector different from the first classification ratio vector to a first classification ratio vector that is a correct answer for the data to be classified; A learning method that includes:
5. A program for causing a computer to function as each unit of the learning device according to any one of claims 1 to 3.
Citation Information
Patent Citations
Generation device, method for generation, generation program, learning data, and model
JP2019036087A
Error determination device, error determination method, and program
JP2020024513A
Error determination device, error determination method and program
JP2020160642A
Systems and methods for low-power real-time object detection
JP2021530038A