WO2021079484A1 - 作成方法、作成プログラムおよび情報処理装置 - Google Patents
作成方法、作成プログラムおよび情報処理装置 Download PDFInfo
- Publication number
- WO2021079484A1 WO2021079484A1 PCT/JP2019/041806 JP2019041806W WO2021079484A1 WO 2021079484 A1 WO2021079484 A1 WO 2021079484A1 JP 2019041806 W JP2019041806 W JP 2019041806W WO 2021079484 A1 WO2021079484 A1 WO 2021079484A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- model
- judgment
- score
- classification class
- learning model
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Definitions
- the embodiment of the present invention relates to a creation method, a creation program, and an information processing device.
- system Since the machine learning model makes judgments and classifications according to the teacher data learned during system development, if the tendency of input data changes due to concept drift such as changes in business judgment criteria during system operation, the machine learning model Accuracy deteriorates.
- FIG. 17 is a diagram for explaining the deterioration of the machine learning model due to the change in the tendency of the input data.
- the machine learning model described here is a model that classifies the input data into one of the first class, the second class, and the third class, and is pre-learned based on the teacher data before the system operation. To do.
- Teacher data includes training data and validation data.
- distribution 1A shows the distribution of input data at the initial stage of system operation.
- Distribution 1B shows the distribution of the input data at the time when T1 time has passed from the initial stage of system operation.
- Distribution 1C shows the distribution of the input data when T2 hours have passed since the initial stage of system operation. It is assumed that the tendency (feature amount, etc.) of the input data changes with the passage of time. For example, if the input data is an image, the tendency of the input data changes according to the season and the time zone even if the same subject is captured.
- the determination boundary 3 indicates the boundary of the model application areas 3a to 3c.
- the model application area 3a is an area in which training data belonging to the first class is distributed.
- the model application area 3b is an area in which training data belonging to the second class is distributed.
- the model application area 3c is an area in which training data belonging to the third class is distributed.
- the asterisk is the input data belonging to the first class, and it is correct that it is classified into the model application area 3a when it is input to the machine learning model.
- the triangle marks are input data belonging to the second class, and it is correct that they are classified into the model application area 3b when input to the machine learning model.
- the circles are input data belonging to the third class, and it is correct that they are classified into the model application area 3a when they are input to the machine learning model.
- distribution 1A all input data is distributed in the normal model application area. That is, the input data of the star mark is located in the model application area 3a, the input data of the triangle mark is located in the model application area 3b, and the input data of the circle mark is located in the model application area 3c.
- the tendency of the input data changes further, and a part of the input data of the star mark moves to the model application area 3b across the determination boundary 3, and is not properly classified, and the correct answer rate. Is decreasing (the accuracy of the machine learning model is deteriorating).
- T2 statistics Hotelling's T-square
- the data group of the input data and the normal data (training data) is analyzed by the principal component, and the T2 statistic of the input data is calculated.
- the T2 statistic is the sum of the squares of the distances from the origin of each standardized principal component to the data.
- the accuracy deterioration of the machine learning model is detected based on the change in the distribution of the T2 statistic of the input data group. For example, the T2 statistic of the input data group corresponds to the proportion of outlier data.
- One aspect is to provide a creation method, a creation program, and an information processing device that can detect a deterioration in the accuracy of a machine learning model.
- the computer executes the acquisition process, the determination score calculation process, the difference calculation process, and the creation process.
- the acquisition process acquires a learning model for which accuracy changes are detected.
- the process of calculating the judgment score calculates the judgment score related to the judgment of the classification class when the data is input to the acquired learning model.
- the process of calculating the difference is performed between the first classification class having the largest calculated judgment score value and the second classification class having the next largest calculated judgment score value after the first classification class. Calculate the difference in the judgment score.
- the process to be created creates a detection model that determines that the classification class is undecided when the difference between the calculated determination scores is less than or equal to the preset threshold value.
- FIG. 1 is an explanatory diagram for explaining a reference technique.
- FIG. 2 is an explanatory diagram for explaining a mechanism for detecting accuracy deterioration of the machine learning model to be monitored.
- FIG. 3 is a diagram (1) showing an example of a model application area according to the reference technique.
- FIG. 4 is a diagram (2) showing an example of a model application area according to the reference technique.
- FIG. 5 is an explanatory diagram for explaining the outline of the detection model in the present embodiment.
- FIG. 6 is a block diagram showing a functional configuration example of the information processing apparatus according to the present embodiment.
- FIG. 7 is an explanatory diagram showing an example of the data structure of the training data set.
- FIG. 8 is an explanatory diagram for explaining an example of the machine learning model.
- FIG. 1 is an explanatory diagram for explaining a reference technique.
- FIG. 2 is an explanatory diagram for explaining a mechanism for detecting accuracy deterioration of the machine learning model to be monitored.
- FIG. 3 is a
- FIG. 9 is an explanatory diagram showing an example of the data structure of the inspector table.
- FIG. 10 is a flowchart showing an operation example of the information processing apparatus according to the present embodiment.
- FIG. 11 is an explanatory diagram illustrating an outline of a process of selecting parameters.
- FIG. 12 is an explanatory diagram showing an example of classification of each model for an instance.
- FIG. 13 is an explanatory diagram for explaining the sureness function.
- FIG. 14 is an explanatory diagram illustrating the relationship between the unknown region and the parameters.
- FIG. 15 is an explanatory diagram for explaining the verification result.
- FIG. 16 is a block diagram showing an example of a computer that executes the creation program.
- FIG. 17 is a diagram for explaining the deterioration of the machine learning model due to the change in the tendency of the input data.
- the accuracy deterioration of the machine learning model is detected by using a plurality of monitors in which the model application area is narrowed under different conditions.
- the observer will be referred to as the "inspector model”.
- FIG. 1 is an explanatory diagram for explaining the reference technique.
- the machine learning model 10 is a machine learning model that has been machine-learned using teacher data.
- teacher data includes training data and validation data.
- the training data is used when the parameters of the machine learning model 10 are machine-learned, and the correct answer label is associated with the training data.
- the verification data is data used when verifying the machine learning model 10.
- the inspector models 11A, 11B, and 11C have different decision boundaries because the model application area is narrowed under different conditions. Since the inspector models 11A to 11C have different determination boundaries, the output results may differ even if the same input data is input. In the reference technique, the accuracy deterioration of the machine learning model 10 is detected based on the difference in the output results of the inspector models 11A to 11C. In the example shown in FIG. 1, inspector models 11A to 11C are shown, but accuracy deterioration may be detected by using another inspector model. DNN (Deep Neural Network) is used for the inspector models 11A to 11C.
- DNN Deep Neural Network
- FIG. 2 is an explanatory diagram for explaining a mechanism for detecting accuracy deterioration of the machine learning model to be monitored.
- the inspector models 11A and 11B will be used for explanation.
- the determination boundary of the inspector model 11A is defined as the determination boundary 12A
- the determination boundary of the inspector model 11B is defined as the determination boundary 12B.
- the positions of the decision boundary 12A and the decision boundary 12B are different from each other, and the model application area for classification is different.
- the input data is classified into the first class by the inspector model 11A.
- the input data is classified into the second class by the inspector model 11A.
- the input data is classified into the first class by the inspector model 11B.
- the input data is classified into the second class by the inspector model 11B.
- input data D T1 is to position the model application area 4A, classified as "first class”.
- input data D T1 is to position the model application area 4B, classified as "first class”. Since the classification result when the input data DT1 is input is the same for the inspector model 11A and the inspector model 11B, it is determined that there is no deterioration.
- the number of training data is reduced.
- the reference technique randomly reduces the training data for each inspector model.
- the number of training data to be reduced is changed for each inspector model.
- FIG. 3 is a diagram (1) showing an example of a model application area based on the reference technique.
- the distributions 20A, 20B, and 20C of the training data in the feature space are shown.
- the distribution 20A is a distribution of training data used when creating the inspector model 11A.
- the distribution 20B is a distribution of training data used when creating the inspector model 11B.
- the distribution 20C is a distribution of training data used when creating the inspector model 11C.
- the star mark is the training data with the correct answer label of the first class.
- the triangle mark is the training data whose correct label is the second class.
- the circles indicate the training data whose correct label is the third class.
- the number of training data used when creating each inspector model is in the order of inspector model 11A, inspector model 11B, and inspector model 11C in descending order of number.
- the model application area of the first class is the model application area 21A.
- the model application area of the second class is the model application area 22A.
- the model application area of the third class is the model application area 23A.
- the model application area of the first class is the model application area 21B.
- the model application area of the second class is the model application area 22B.
- the model application area of the third class is the model application area 23B.
- the model application area of the first class is the model application area 21C.
- the model application area of the second class is the model application area 22C.
- the model application area of the third class is the model application area 23C.
- FIG. 4 is a diagram (2) showing an example of a model application area according to the reference technique.
- the distribution 24A is a distribution of training data used when creating the inspector model 11A.
- the distribution 24B is a distribution of training data used when creating the inspector model 11B.
- the distribution 24C is a distribution of training data used when creating the inspector model 11C.
- the explanation of the training data of the stars, triangles, and circles is the same as the explanation given in FIG.
- the number of training data used when creating each inspector model is in the order of inspector model 11A, inspector model 11B, and inspector model 11C in descending order of number.
- the model application area of the first class is the model application area 25A.
- the model application area of the second class is the model application area 26A.
- the model application area of the third class is the model application area 27A.
- the model application area of the first class is the model application area 25B.
- the model application area of the second class is the model application area 26B.
- the model application area of the third class is the model application area 27B.
- the model application area of the first class is the model application area 25C.
- the model application area of the second class is the model application area 26C.
- the model application area of the third class is the model application area 27C.
- each model application area is narrowed according to the number of training data, but in the example described in FIG. 4, each model is not affected by the number of training data.
- the applicable area is not narrowed.
- the narrower the model application area classified as a class the more vulnerable the class is to concept drift. Therefore, in order to detect the accuracy deterioration of the machine learning model 10 to be monitored, it is important to create a plurality of inspector models in which the model application area is appropriately narrowed. Therefore, if the model application area of the inspector model is not narrowed, it takes man-hours to recreate it.
- a detection model is created in which the decision boundary on the feature space of the machine learning model is widened to provide an unknown area in which the classification class is undecided, and the model application area of each class is intentionally narrowed.
- FIG. 5 is an explanatory diagram for explaining the outline of the detection model in the present embodiment.
- the input data D1 shows the input data for the machine learning model for which the accuracy change due to the concept drift is detected.
- the model application area C1 is an area on the feature space in which the classification class is determined to be “A” by the machine learning model to be detected.
- the model application area C2 is an area on the feature space in which the classification class is determined to be “B” by the machine learning model to be detected.
- the model application area C3 is an area on the feature space in which the classification class is determined to be “C” by the machine learning model to be detected.
- the determination boundary K is the boundary between the model application regions C1 to C3.
- the input data D1 is included in any of the model application areas C1 to C3 with the determination boundary K as a delimiter. It is classified into one of the classification classes.
- the decision boundary K is defined between the classification class having the maximum judgment score value and the classification class having the next largest judgment score value in the judgment score related to the judgment of the classification class by the machine learning model.
- the score difference is 0. For example, when the machine learning model outputs a judgment score for each classification class, the score difference between the classification class with the highest judgment score (1st place) and the classification class with the second highest judgment score (2nd place) is 0. It is about to become.
- the judgment score regarding the judgment of the classification class when data is input to the machine learning model for which the accuracy change due to the concept drift is detected is calculated.
- the score difference between the maximum classification class (1st classification class) and the next largest classification class after the maximum classification class (2nd classification class) is a predetermined threshold value.
- the detection model created in this way in the region of a predetermined width including the determination boundary K on the feature space, the unknown region UK where the classification class is determined to be "undetermined” indicating undetermined. It becomes. That is, in the detection model, the model application areas C1 to C3 of each class are surely narrowed by the unknown area UK. Since the model application areas C1 to C3 of each class are narrowed in this way, the created detection model is more vulnerable to concept drift than the machine learning model to be detected. Therefore, the accuracy deterioration of the machine learning model can be detected by the created detection model.
- the score difference (parameter h) in the judgment score may be determined for the machine learning model, and additional learning about DNN is not required to create the detection model.
- FIG. 6 is a block diagram showing a functional configuration example of the information processing device according to the present embodiment.
- the information processing apparatus 100 is an apparatus that performs various processes related to the creation of a detection model, and for example, a personal computer or the like can be applied.
- the information processing device 100 includes a communication unit 110, an input unit 120, a display unit 130, a storage unit 140, and a control unit 150.
- the communication unit 110 is a processing unit that executes data communication with an external device (not shown) via a network.
- the communication unit 110 is an example of a communication device.
- the control unit 150 which will be described later, exchanges data with an external device via the communication unit 110.
- the input unit 120 is an input device for inputting various information to the information processing device 100.
- the input unit 120 corresponds to a keyboard, a mouse, a touch panel, and the like.
- the display unit 130 is a display device that displays information output from the control unit 150.
- the display unit 130 corresponds to a liquid crystal display, an organic EL (Electro Luminescence) display, a touch panel, and the like.
- the storage unit 140 has a teacher data 141, a machine learning model data 142, an inspector table 143, and an output result table 144.
- the storage unit 140 corresponds to semiconductor memory elements such as RAM (Random Access Memory) and flash memory (Flash Memory), and storage devices such as HDD (Hard Disk Drive).
- the teacher data 141 has a training data set 141a and verification data 141b.
- the training data set 141a holds various information about the training data.
- FIG. 7 is a diagram showing an example of the data structure of the training data set 141a.
- the training data set 141a associates the record number, the training data, and the correct answer label.
- the record number is a number that identifies a pair of training data and a correct label.
- the training data corresponds to mail spam data, electricity demand forecast, stock price forecast, poker hand data, image data, and the like.
- the correct answer label is information that uniquely identifies any of the classification classes of the first class (A), the second class (B), and the third class (C).
- the verification data 141b is data for verifying the machine learning model trained by the training data set 141a.
- the verification data 141b is given a correct label. For example, when the verification data 141b is input to the machine learning model and the output result output from the machine learning model matches the correct answer label given to the verification data 141b, the training data set 141a causes the machine learning model. Means that was properly learned.
- the machine learning model data 142 is the data of the machine learning model for which the accuracy change due to the concept drift is detected.
- FIG. 8 is a diagram for explaining an example of a machine learning model.
- the machine learning model 50 has a neural network structure, and has an input layer 50a, a hidden layer 50b, and an output layer 50c.
- the input layer 50a, the hidden layer 50b, and the output layer 50c have a structure in which a plurality of nodes are connected by edges.
- the hidden layer 50b and the output layer 50c have a function called an activation function and a bias value, and the edge has a weight.
- the bias value and weight are referred to as "weight parameters”.
- the probability of each class is output from the nodes 51a, 51b, 51c of the output layer 50c through the hidden layer 50b.
- the probability of the first class (A) is output from the node 51a.
- the probability of the second class (B) is output from the node 51b.
- the probability of the third class (C) is output from the node 51c.
- the probability of each class is calculated by inputting the value output from each node of the output layer 50c into the Softmax function.
- the value before being input to the softmax function is expressed as "score", and this "score" is an example of the judgment score.
- the training data corresponding to the correct answer label "first class (A)" is input to each node included in the input layer 50a, it is a value output from the node 51a and is input to the softmax function.
- the previous value is used as the score of the input training data.
- the training data corresponding to the correct answer label "second class (B)” is input to each node included in the input layer 50a, it is a value output from the node 51b and before inputting to the softmax function.
- Let the value be the score of the input training data.
- the training data corresponding to the correct answer label "3rd class (C)" is input to each node included in the input layer 50a, it is a value output from the node 51c and before inputting to the softmax function. Let the value be the score of the input training data.
- the machine learning model 50 has been trained based on the training data set 141a of the teacher data 141 and the verification data 141b.
- the machine learning is performed so that the output result of each node of the output layer 50c approaches the correct answer label of the input training data.
- the parameters of the model 50 are trained (trained by the error back propagation method).
- the inspector table 143 is a table that holds data of a plurality of detection models (inspector models) that detect deterioration in accuracy of the machine learning model 50.
- FIG. 9 is a diagram showing an example of the data structure of the inspector table 143.
- the inspector table 143 associates the identification information (for example, M0 to M3) with the inspector model.
- the identification information is information that identifies the inspector model.
- the inspector is the data of the inspector model corresponding to the model identification information.
- the data of the inspector model includes the parameter h and the like described with reference to FIG.
- the output result table 144 is a table for registering the output result of each inspector model when the data of the system in operation is input to each inspector model (detection model) by the inspector table 143.
- the control unit 150 has a calculation unit 151, a creation unit 152, an acquisition unit 153, and a detection unit 154.
- the control unit 150 can be realized by a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like.
- the control unit 150 can also be realized by hard-wired logic such as ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
- the calculation unit 151 acquires the machine learning model 50 from the machine learning model data 142.
- the calculation unit 151 is a processing unit that calculates a determination score regarding the determination of the classification class when data is input to the acquired machine learning model 50. Specifically, the calculation unit 151 obtains a determination score such as the probability of each class from the output layer 50c by inputting data into the input layer 50a of the machine learning model 50 constructed by the machine learning model data 142.
- the teacher data 141 used for learning the machine learning model 50 is used to determine the probability of each class. It may be replaced with a machine learning model trained to output a score. That is, the calculation unit 151 inputs data to the machine learning model learned to output a determination score based on the teacher data 141 used for learning the machine learning model 50, so that the machine learning model 50 is subjected to the data. Acquire the judgment score related to the judgment of the classification class when the data is input.
- the creation unit 152 Based on the calculated judgment score, the creation unit 152 has a first classification class having the largest calculated judgment score value and a second classification having the calculated judgment score value next to the first classification class. Calculate the difference of the judgment score with the class. Then, the creation unit 152 determines the difference in the judgment score between the first classification class having the largest judgment score value and the second classification class having the next largest judgment score value after the first classification class. Is a processing unit that creates a detection model that determines that the classification class is undecided when is equal to or less than a predetermined threshold value. Specifically, the creation unit 152 determines a plurality of parameters h that narrow the model application areas C1 to C3 (details will be described later), and registers each of the determined parameters h in the inspector table 143.
- the acquisition unit 153 is a processing unit that inputs the operation data of the system whose feature amount changes with the passage of time into a plurality of inspector models and acquires the output result.
- the acquisition unit 153 acquires the data (parameter h) of the inspector model whose identification information is M0 to M2 from the inspector table 143, and executes each inspector model for the operation data. Specifically, the acquisition unit 153 inputs the operation data into the machine learning model 50, and regarding the value of the judgment score obtained, the maximum classification class (first classification class) and the next to the classification class. When the score difference with the large classification class (second-ranked classification class) is the parameter h or less, the classification class is undetermined. If the score difference is not less than or equal to the parameter h, the classification class is based on the judgment score. Next, the acquisition unit 153 registers the output result obtained by executing each inspector model for the operation data in the output result table 144.
- the detection unit 154 is a processing unit that detects the accuracy change of the machine learning model 50 based on the time change of the operation data based on the output result table 144. Specifically, the detection unit 154 acquires the matching degree of the output of each inspector model for the instance, and detects the accuracy change of the machine learning model 50 from the tendency of the acquired matching degree. For example, if the degree of matching of the outputs of each inspector model is significantly small, it is assumed that the accuracy is deteriorated due to concept drift. The detection unit 154 outputs the detection result regarding the accuracy change of the machine learning model 50 from the display unit 130. As a result, the user can recognize the deterioration of accuracy due to concept drift.
- FIG. 10 is a flowchart showing an operation example of the information processing apparatus 100 according to the present embodiment.
- the calculation unit 151 constructs the machine learning model 50 to be detected by the machine learning model data 142.
- the calculation unit 151 inputs the teacher data 141 used at the time of learning the machine learning model 50 into the input layer 50a of the constructed machine learning model 50.
- the calculation unit 151 acquires score information of the determination score such as the probability of each class from the output layer 50c (S1).
- the creating unit 152 executes a process of selecting a plurality of parameters h for determining the unknown region UK regarding the detection model (inspector model) based on the acquired score information (S2).
- the parameter h may be any value as long as it is different from each other.
- the teacher data 141 is included in the unknown region UK on the feature space at equal intervals (for example, 20%, 40%, 60%, etc.). 80%, etc.).
- FIG. 11 is an explanatory diagram illustrating an outline of a process of selecting the parameter h.
- Morig shows a machine learning model 50 (original model).
- M 1 , M 2 ... Indicates a detection model (inspector model) in which the model application areas C1 to C3 are narrowed.
- creation unit 152 in S2, M 1, M 2 ... M i about the parameters h and h a (h ⁇ 0) selecting n number.
- the input data D1 is simply referred to as “D” unless otherwise specified, the training data set 141a (test data) included in the teacher data 141 is referred to as D test , and the operational data is referred to as D drift.
- FIG. 12 is an explanatory diagram showing an example of classification of each model for an instance.
- the classification result 60 shows a model M a for instance of the data D (1 ⁇ 9), the presence or absence of coincidence between the output of M b (classification) (Y / N).
- agreement2 (h, D) agreement (M orig, M h, D) defining a.
- M h is a model obtained by narrowing the model M ori g using the parameter h.
- creation unit 152 for each selected parameter (h i), and generates an inspector model (detection model) (S3). Specifically, creating portion 152 registers the respective determined h i the inspector table 143.
- This inspector model internally refers to the original model (machine learning model 50).
- the inspector Model (detection model), the output of the original model is within unknown region UK based on h i registered in the inspector table 143 acts to replace the undetermined determination result (unknown).
- the acquisition unit 153 inputs the operation data (D drift ) into the machine learning model 50 to obtain a determination score. Then, the acquisition unit 153, the obtained determination score, first place to become classified class and when the score difference is less h i registered in the inspector table 143 between the 2-position to become classified class, classification class Is undecided. If the score difference is not less than or equal to the parameter h, the classification class is based on the judgment score.
- the acquisition unit 153 registers the output result obtained by executing each inspector model in the output result table 144.
- the detection unit 154 detects the accuracy change of the machine learning model 50 based on the output result table 144.
- the information processing apparatus 100 detects the deterioration of accuracy by using the inspector model created by the creation unit 152 (S4).
- the acquisition unit 153 determines whether or not the classification class is undetermined by using the sureness (x) which is a function of the score difference in the top two classification classes.
- FIG. 13 is an explanatory diagram for explaining the sureness function. As shown in FIG. 13, it is assumed that the instance X is determined using the inspector model of the parameter h.
- the score of the classification class with the highest score when the inspector model determines the instance X is s first
- the score of the second classification class is s second .
- the score difference calculation is meaningful.
- the difference in scores needs to be of equal value regardless of the area.
- the difference in scores may correspond to a loss function. Since the loss function takes the average as a whole, it is additive and the value of the same value is equal everywhere.
- the model uses log loss (log-loss) as a loss function
- the y i true value as the correct probability of predicting p i
- loss is -y i log (p i). Since it is log (pi ) that is additive here, it is sufficient if this can be used as a score.
- surenes (x): ⁇ (score first ) - ⁇ (score second )
- the acquisition unit 153 the determination result of the narrowed model M i, is modified as follows from the judgment result of M orig. sureness (x) In the case of ⁇ h i: is used as it is a judgment class of M orig. sureness (x) ⁇ In the case of h i: the unknown class.
- the detection unit 154 detects deterioration of model accuracy by using a function (ag_mean (D)) for calculating the average matching degree in each inspector model of the data D.
- the detection unit 154 determines for each M i, agreement (M orig, M i, D drift) asking, whether the accuracy deterioration from that tendency. For example, if ag_mean (D drift ) is significantly smaller than ag_mean (D test ), it is determined that there is a deterioration in accuracy due to concept drift.
- the detection unit 154 can perform high-speed calculation without being affected by the number of models n by using the calculation method described below.
- FIG. 14 is an explanatory diagram illustrating the relationship between the unknown region and the parameters.
- h i-1 ⁇ sureness (x) ⁇ hi i ⁇ ⁇ D drift is to the percentage entering the R i r i. r i:
- u i r i + r i-1 +. .. .. + R 2 + r 1 .
- su2index () is a function that returns the index of the region R i where x belongs sureness a (x) as an argument.
- su2index () corresponds to the quantile, which is a robust statistic.
- , d
- FIG. 15 is an explanatory diagram for explaining the verification result.
- the verification result E1 in FIG. 15 is the verification result for the classification class 0, and the verification result E2 is the verification result for the classification classes 1 and 4.
- the graph G1 is a graph showing the accuracy of the original model (machine learning model 50), and the graph G2 is a graph showing the matching rate of a plurality of inspector models.
- the teacher data 141 is used as the original data, and the data in which the degree of modification (drift degree) of the original data is strengthened by rotation or the like is verified as the input data.
- the graph G2 in the inspector model also decreases in accordance with the deterioration of the accuracy of the model (decrease of the graph G1). Therefore, it is possible to detect the deterioration of accuracy due to concept drift from the descent of the graph G2. Further, since the correlation between the descent of the graph G1 and the descent of the graph G2 is strong, the accuracy of the machine learning model 50 to be detected can be obtained based on the degree of descent of the graph G2.
- the number (n) of detection models (inspector models) is determined. Further, if the number is not sufficient, there is a problem that the accuracy of deterioration detection is lowered. Therefore, in the modified example, a method is provided in which the number of detection models (inspector models) does not have to be determined. Theoretically, the number of detection models (inspector models) is infinite. The calculation time in this case is almost the same as in the case of determining the number.
- the creation unit 152 may check the probability distribution (cumulative distribution function) of the above-mentioned sureness based on the calculated determination score. By investigating the probability distribution of surenes in this way, it is possible to treat the detection model (inspector model) as if it were theoretically infinite, and it is not necessary to explicitly create it.
- the acquisition unit 153 calculates the average match rate as follows when calculating the average match rate in the mechanism for detecting the deterioration of model accuracy. -In the high-speed calculation of ag_mean (D test ) and ag_mean (D drift ), the number n of inspector models is set to infinity (n ⁇ ⁇ ).
- the information processing apparatus 100 has a calculation unit 151 and a creation unit 152.
- the calculation unit 151 acquires a machine learning model 50 for detecting an accuracy change, and calculates a determination score for determining a classification class when data is input to the acquired machine learning model 50.
- the creation unit 152 determines the judgment score between the first classification class having the largest calculated judgment score value and the second classification class having the calculated judgment score value next to the first classification class. Calculate the difference between.
- the creation unit 152 creates a detection model for determining the classification class as undecided when the difference between the calculated determination scores is equal to or less than a preset threshold value.
- unknown regions UK are provided in which the determination boundary on the feature space in the machine learning model 50 is widened and the classification class is undetermined, and the model application regions C1 to C3 of each class are intentionally set. Since the detection model is created, the accuracy deterioration of the machine learning model 50 can be detected by the created detection model.
- the creation unit 152 creates a plurality of detection models having different threshold values.
- the information processing apparatus 100 creates a plurality of detection models having different threshold values, that is, a plurality of detection models having different widths of the unknown region UK.
- the information processing apparatus 100 can detect the progress of accuracy deterioration of the machine learning model 50 due to concept drift from the created plurality of detection models.
- the creating unit 152 sets a threshold value so that the matching ratio between the judgment result of the classification class in the machine learning model 50 of each judgment score and the judgment result of the classification class in the detection model of each judgment score is set as a predetermined value.
- the information processing apparatus 100 can create a detection model in which the matching ratio is a predetermined ratio with respect to the determination result by the machine learning model 50 for the input data. Therefore, the machine learning model 50 by concept drift can be created by the created detection model. The degree of deterioration of accuracy can be measured.
- the calculation unit 151 calculates the determination score using the teacher data 141 regarding the learning of the machine learning model 50.
- the information processing apparatus 100 may create a detection model based on the determination score calculated by using the teacher data 141 related to the learning of the machine learning model 50 as a sample. By using the teacher data 141 in this way, the information processing apparatus 100 can easily create the detection model without preparing new data for creating the detection model.
- each component of each device shown in the figure is a functional concept, and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution and integration of each device is not limited to the one shown in the figure. That is, all or a part thereof can be functionally or physically distributed / integrated in any unit according to various loads, usage conditions, and the like.
- each processing function performed by each device is realized by a CPU (Central Processing Unit) and a program that is analyzed and executed by the CPU, or hardware by wired logic. Can be realized as.
- CPU Central Processing Unit
- various processing functions performed by the information processing apparatus 100 may execute all or any part thereof on a CPU (or a microcomputer such as an MPU or an MCU (MicroControllerUnit)). Further, various processing functions may be executed in whole or in any part on a program analyzed and executed by a CPU (or a microcomputer such as an MPU or MCU) or on hardware by wired logic. Needless to say, it's good. Further, various processing functions performed by the information processing apparatus 100 may be executed by a plurality of computers in cooperation by cloud computing.
- FIG. 16 is a block diagram showing an example of a computer that executes the creation program.
- the computer 200 has a CPU 201 that executes various arithmetic processes, an input device 202 that accepts data input, and a monitor 203. Further, the computer 200 includes a medium reading device 204 for reading a program or the like from a storage medium, an interface device 205 for connecting to various devices, and a communication device 206 for connecting to another information processing device or the like by wire or wirelessly. Has. Further, the computer 200 has a RAM 207 that temporarily stores various information and a hard disk device 208. Further, each of the devices 201 to 208 is connected to the bus 209.
- the hard disk device 208 stores a creation program 208A for realizing the same functions as the processing units of the calculation unit 151, the creation unit 152, the acquisition unit 153, and the detection unit 154 shown in FIG. Further, the hard disk device 208 stores various data (for example, inspector table 143) related to the calculation unit 151, the creation unit 152, the acquisition unit 153, and the detection unit 154.
- the input device 202 receives, for example, input of various information such as operation information from the user of the computer 200.
- the monitor 203 displays various screens such as a display screen for the user of the computer 200, for example.
- a printing device or the like is connected to the interface device 205.
- the communication device 206 is connected to a network (not shown) and exchanges various information with other information processing devices.
- the CPU 201 reads the creation program 208A stored in the hard disk device 208, expands it into the RAM 207, and executes it to operate the process of executing each function of the information processing device 100. That is, this process executes the same function as each processing unit of the information processing apparatus 100. Specifically, the CPU 201 reads the creation program 208A for realizing the same functions as the calculation unit 151, the creation unit 152, the acquisition unit 153, and the detection unit 154 from the hard disk device 208. Then, the CPU 201 executes a process of executing the same processing as the calculation unit 151, the creation unit 152, the acquisition unit 153, and the detection unit 154.
- the above-mentioned creation program 208A does not have to be stored in the hard disk device 208.
- the computer 200 may read and execute the creation program 208A stored in a storage medium that can be read by the computer 200.
- the storage medium that can be read by the computer 200 is, for example, a portable recording medium such as a CD-ROM, a DVD (Digital Versatile Disc), or a USB (Universal Serial Bus) memory, a semiconductor memory such as a flash memory, a hard disk drive, or the like. ..
- the creation program 208A may be stored in a device connected to a public line, the Internet, a LAN, or the like, and the computer 200 may read the creation program 208A from these and execute the program 208A.
- Control unit 151 ... Calculation unit 152 ... Creation unit 153 ... Acquisition unit 154 ... Detection unit 200 ... Computer 201 ... CPU 202 ... Input device 203 ... Monitor 204 ... Media reader 205 ... Interface device 206 ... Communication device 207 ... RAM 208 ... Hard disk device 208A ... Creation program 209 ... Bus D, D1 to D2 ... Input data E1, E2 ... Verification result G1, G2 ... Graph h ... Parameter K ... Decision boundary M ... Model T1, T2 ... Time UK ... unknown area
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
実施形態の作成方法は、取得する処理と、判定スコアを算出する処理と、差分を算出する処理と、作成する処理とをコンピュータが実行する。取得する処理は、精度変化の検出対象となる学習モデルを取得する。判定スコアを算出する処理は、取得した学習モデルに対して、データを入力したときの分類クラスの判定に関する判定スコアを算出する。差分を算出する処理は、算出した判定スコアの値が最大の第1の分類クラスと、算出した判定スコアの値が第1の分類クラスの次に大きい値の第2の分類クラスとの間で判定スコアの差分を算出する。作成する処理は、算出した判定スコアの差分が予め設定された閾値以下のときは、分類クラスを未決定と判定する検出モデルを作成する。
Description
本発明の実施形態は、作成方法、作成プログラムおよび情報処理装置に関する。
近年、企業等で利用されている情報システムに対して、データの判定機能、分類機能等を有する機械学習モデルの導入が進んでいる。以下、情報システムを「システム」と表記する。機械学習モデルは、システム開発時に学習させた教師データの通りに判定、分類を行うため、システム運用中に業務判断の基準が変わる等のコンセプトドリフトにより入力データの傾向が変化すると、機械学習モデルの精度が劣化する。
図17は、入力データの傾向の変化による機械学習モデルの劣化を説明するための図である。ここで説明する機械学習モデルは、入力データを第1クラス、第2クラス、第3クラスのいずれかに分類するモデルであり、システム運用前に、教師データに基づき、予め学習されているものとする。教師データには、訓練データと、検証データとが含まれる。
図17において、分布1Aは、システム運用初期の入力データの分布を示す。分布1Bは、システム運用初期からT1時間経過した時点の入力データの分布を示す。分布1Cは、システム運用初期から更にT2時間経過した時点の入力データの分布を示す。時間経過に伴って、入力データの傾向(特徴量等)が変化するものとする。たとえば、入力データが画像であれば、同一の被写体を撮影した画像であっても、季節や時間帯に応じて、入力データの傾向が変化する。
決定境界3は、モデル適用領域3a~3cの境界を示すものである。たとえば、モデル適用領域3aは、第1クラスに属する訓練データが分布する領域である。モデル適用領域3bは、第2クラスに属する訓練データが分布する領域である。モデル適用領域3cは、第3クラスに属する訓練データが分布する領域である。
星印は、第1クラスに属する入力データであり、機械学習モデルに入力した際に、モデル適用領域3aに分類されることが正しい。三角印は、第2クラスに属する入力データであり、機械学習モデルに入力した際に、モデル適用領域3bに分類されることが正しい。丸印は、第3クラスに属する入力データであり、機械学習モデルに入力した際に、モデル適用領域3aに分類されることが正しい。
分布1Aでは、全ての入力データが正常なモデル適用領域に分布している。すなわち、星印の入力データがモデル適用領域3aに位置し、三角印の入力データがモデル適用領域3bに位置し、丸印の入力データがモデル適用領域3cに位置している。
分布1Bでは、コンセプトドリフトにより入力データの傾向が変化したため、全ての入力データが、正常なモデル適用領域に分布しているものの、星印の入力データの分布がモデル適用領域3bの方向に変化している。
分布1Cでは、入力データの傾向が更に変化し、星印の一部の入力データが、決定境界3を跨いで、モデル適用領域3bに移動しており、適切に分類されておらず、正解率が低下している(機械学習モデルの精度が劣化している)。
ここで、運用中の機械学習モデルの精度劣化を検出する技術として、T2統計量(Hotelling's T-square)を用いる従来技術がある。この従来技術では、入力データおよび正常データ(訓練データ)のデータ群を主成分分析し、入力データのT2統計量を算出する。T2統計量は、標準化した各主成分の原点からデータまでの距離の二乗を合計したものである。従来技術は、入力データ群のT2統計量の分布の変化を基にして、機械学習モデルの精度劣化を検知する。たとえば、入力データ群のT2統計量は、異常値データの割合に対応する。
A.Shabbak and H. Midi,"An Improvement of the Hotelling Statistic in Monitoring Multivariate Quality Characteristics",Mathematical Problems in Engineering (2012) 1-15.
しかしながら、上記の従来技術では、入力データ群のT2統計量の分布の変化をもとにしており、例えば、入力データの採取がある程度行われないと機械学習モデルの精度劣化を検知することが困難であるという問題がある。
1つの側面では、機械学習モデルの精度劣化を検知することができる作成方法、作成プログラムおよび情報処理装置を提供することを目的とする。
1つの案では、作成方法は、取得する処理と、判定スコアを算出する処理と、差分を算出する処理と、作成する処理とをコンピュータが実行する。取得する処理は、精度変化の検出対象となる学習モデルを取得する。判定スコアを算出する処理は、取得した学習モデルに対して、データを入力したときの分類クラスの判定に関する判定スコアを算出する。差分を算出する処理は、算出した判定スコアの値が最大の第1の分類クラスと、算出した判定スコアの値が第1の分類クラスの次に大きい値の第2の分類クラスとの間で判定スコアの差分を算出する。作成する処理は、算出した判定スコアの差分が予め設定された閾値以下のときは、分類クラスを未決定と判定する検出モデルを作成する。
機械学習モデルの精度劣化を検知することができる。
以下、図面を参照して、実施形態にかかる作成方法、作成プログラムおよび情報処理装置を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する作成方法、作成プログラムおよび情報処理装置は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
本実施形態の説明を行う前に、機械学習モデルの精度劣化を検知する参考技術について説明する。参考技術では、異なる条件でモデル適用領域を狭めた複数の監視器を用いて、機械学習モデルの精度劣化を検知する。以下の説明では、監視器を「インスペクターモデル」と表記する。
図1は、参考技術を説明するための説明図である。機械学習モデル10は、教師データを用いて機械学習した機械学習モデルである。参考技術では、機械学習モデル10の精度劣化を検知する。たとえば、教師データには、訓練データと、検証データとが含まれる。訓練データは、機械学習モデル10のパラメータを機械学習する場合に用いられるものであり、正解ラベルが対応付けられる。検証データは、機械学習モデル10を検証する場合に用いられるデータである。
インスペクターモデル11A、11B、11Cは、それぞれ異なる条件でモデル適用領域が狭められ、異なる決定境界を有する。インスペクターモデル11A~11Cは、それぞれ決定境界が異なるため、同一の入力データを入力しても、出力結果が異なる場合がある。参考技術では、インスペクターモデル11A~11Cの出力結果の違いを基にして、機械学習モデル10の精度劣化を検知する。図1に示す例では、インスペクターモデル11A~11Cを示すが、他のインスペクターモデルを用いて、精度劣化を検知してもよい。インスペクターモデル11A~11CにはDNN(Deep Neural Network)を利用する。
図2は、監視対象の機械学習モデルの精度劣化を検知する仕組みを説明するための説明図である。図2では、インスペクターモデル11A、11Bを用いて説明を行う。インスペクターモデル11Aの決定境界を決定境界12Aとし、インスペクターモデル11Bの決定境界を決定境界12Bとする。決定境界12Aと、決定境界12Bとの位置はそれぞれ異なっており、クラス分類に関するモデル適用領域が異なる。
入力データがモデル適用領域4Aに位置する場合には、入力データは、インスペクターモデル11Aによって、第1クラスに分類される。入力データがモデル適用領域5Aに位置する場合には、入力データは、インスペクターモデル11Aによって、第2クラスに分類される。
入力データがモデル適用領域4Bに位置する場合には、入力データは、インスペクターモデル11Bによって、第1クラスに分類される。入力データがモデル適用領域5Bに位置する場合には、入力データは、インスペクターモデル11Bによって、第2クラスに分類される。
たとえば、運用初期の時間T1において、入力データDT1をインスペクターモデル11Aに入力すると、入力データDT1はモデル適用領域4Aに位置するため、「第1クラス」に分類される。入力データDT1をインスペクターモデル11Bに入力すると、入力データDT1はモデル適用領域4Bに位置するため、「第1クラス」に分類される。入力データDT1を入力した場合の分類結果が、インスペクターモデル11Aと、インスペクターモデル11Bとで同一であるため「劣化なし」と判定される。
運用初期から時間経過した時間T2において、入力データの傾向が変化して、入力データDT2となる。入力データDT2をインスペクターモデル11Aに入力すると、入力データDT2はモデル適用領域4Aに位置するため、「第1クラス」に分類される。一方、入力データDT2をインスペクターモデル11Bに入力すると、入力データDT2はモデル適用領域4Bに位置するため、「第2クラス」に分類される。入力データDT2を入力した場合の分類結果が、インスペクターモデル11Aと、インスペクターモデル11Bとで異なるため「劣化あり」と判定される。
ここで、参考技術では、異なる条件でモデル適用領域を狭めたインスペクターモデルを作成する場合、訓練データの数を削減する。たとえば、参考技術では、各インスペクターモデルの訓練データをランダムに削減する。また、参考技術では、インスペクターモデル毎に削減する訓練データの数を変更する。
図3は、参考技術によるモデル適用領域の一例を示す図(1)である。図3に示す例では、特徴空間における訓練データの分布20A、20B、20Cを示す。分布20Aは、インスペクターモデル11Aを作成する場合に用いる訓練データの分布である。分布20Bは、インスペクターモデル11Bを作成する場合に用いる訓練データの分布である。分布20Cは、インスペクターモデル11Cを作成する場合に用いる訓練データの分布である。
星印は、正解ラベルが第1クラスの訓練データである。三角印は、正解ラベルが第2クラスの訓練データである。丸印は、正解ラベルが第3クラスの訓練データである。
各インスペクターモデルを作成する場合に用いる訓練データの数は、数の多い順に、インスペクターモデル11A、インスペクターモデル11B、インスペクターモデル11Cの順となる。
分布20Aにおいて、第1クラスのモデル適用領域は、モデル適用領域21Aとなる。第2クラスのモデル適用領域は、モデル適用領域22Aとなる。第3クラスのモデル適用領域は、モデル適用領域23Aとなる。
分布20Bにおいて、第1クラスのモデル適用領域は、モデル適用領域21Bとなる。第2クラスのモデル適用領域は、モデル適用領域22Bとなる。第3クラスのモデル適用領域は、モデル適用領域23Bとなる。
分布20Cにおいて、第1クラスのモデル適用領域は、モデル適用領域21Cとなる。第2クラスのモデル適用領域は、モデル適用領域22Cとなる。第3クラスのモデル適用領域は、モデル適用領域23Cとなる。
しかしながら、訓練データの数を削減しても、必ずしも、図3で説明したように、モデル適用領域が狭くならない場合がある。図4は、参考技術によるモデル適用領域の一例を示す図(2)である。図4に示す例では、特徴空間における訓練データの分布24A、24B、24Cを示す。分布24Aは、インスペクターモデル11Aを作成する場合に用いる訓練データの分布である。分布24Bは、インスペクターモデル11Bを作成する場合に用いる訓練データの分布である。分布24Cは、インスペクターモデル11Cを作成する場合に用いる訓練データの分布である。星印、三角印、丸印の訓練データの説明は、図3で行った説明と同様である。
各インスペクターモデルを作成する場合に用いる訓練データの数は、数の多い順に、インスペクターモデル11A、インスペクターモデル11B、インスペクターモデル11Cの順となる。
分布24Aにおいて、第1クラスのモデル適用領域は、モデル適用領域25Aとなる。第2クラスのモデル適用領域は、モデル適用領域26Aとなる。第3クラスのモデル適用領域は、モデル適用領域27Aとなる。
分布24Bにおいて、第1クラスのモデル適用領域は、モデル適用領域25Bとなる。第2クラスのモデル適用領域は、モデル適用領域26Bとなる。第3クラスのモデル適用領域は、モデル適用領域27Bとなる。
分布24Cにおいて、第1クラスのモデル適用領域は、モデル適用領域25Cとなる。第2クラスのモデル適用領域は、モデル適用領域26Cとなる。第3クラスのモデル適用領域は、モデル適用領域27Cとなる。
上記のように、図3で説明した例では、訓練データの数に応じて、各モデル適用領域が狭くなっているが、図4で説明した例では、訓練データの数によらず、各モデル適用領域が狭くなっていない。
参考技術では、どの訓練データを削除すれば、モデル適用領域がどの程度狭くなるのか未知であるため、モデル適用領域を、意図的に分類クラスを指定しながら任意の広さに調整することが困難である。そのため、訓練データを削除して作成したインスペクターモデルのモデル適用領域が狭くならないケースがある。
特徴空間上で、あるクラスであると分類されるモデル適用領域が狭いほど、そのクラスはコンセプトドリフトに弱いと言える。このため、監視対象の機械学習モデル10の精度劣化を検出するためには、モデル適用領域を適宜狭くしたインスペクターモデルを複数作成することが重要となる。よって、インスペクターモデルのモデル適用領域が狭くならなかった場合、作り直しの工数がかかる。
すなわち、参考技術では、指定した分類クラスのモデル適用領域を狭めた複数のインスペクターモデルを適切に作成することが困難である。
そこで、本実施形態では、機械学習モデルにおける特徴空間上での決定境界を広げて分類クラスを未決定とするunknown領域を設け、各クラスのモデル適用領域を意図的に狭める検出モデルを作成する。
図5は、本実施形態における検出モデルの概要を説明するための説明図である。図5において、入力データD1は、コンセプトドリフトによる精度変化の検出対象となる機械学習モデルに対する入力データを示す。モデル適用領域C1は、検出対象となる機械学習モデルにより分類クラスが「A」と判定される特徴空間上の領域である。モデル適用領域C2は、検出対象となる機械学習モデルにより分類クラスが「B」と判定される特徴空間上の領域である。モデル適用領域C3は、検出対象となる機械学習モデルにより分類クラスが「C」と判定される特徴空間上の領域である。決定境界Kは、モデル適用領域C1~C3の境界である。
図5の左側に示すように、入力データD1は、決定境界Kを区切りとしてモデル適用領域C1~C3のいずれかに含まれることから、機械学習モデルを用いることで「A」~「C」のいずれかの分類クラスに分類される。決定境界Kは、機械学習モデルによる分類クラスの判定に関する判定スコアにおいて、判定スコアの値が最大となる分類クラスと、判定スコアの値が最大となる分類クラスの次に大きい分類クラスとの間でスコア差が0のところである。例えば、機械学習モデルが分類クラスごとに判定スコアを出力する場合には、判定スコアが最大(1位)の分類クラスと、判定スコアが次点(2位)の分類クラスとのスコア差が0となるところである。
そこで、本実施形態では、コンセプトドリフトによる精度変化の検出対象となる機械学習モデルに対してデータを入力したときの分類クラスの判定に関する判定スコアを算出する。次いで、算出した判定スコアについて、最大となる分類クラス(1位の分類クラス)と、最大となる分類クラスの次に大きい分類クラス(2位の分類クラス)との間のスコア差が所定の閾値(パラメータh)以下のときは、分類クラスを未決定(unknown)とする検出モデルを作成する。
図5の中央に示すように、このように作成した検出モデルでは、特徴空間上の決定境界Kを含む所定幅の領域において、分類クラスが未決定を示す「unknown」と判定されるunknown領域UKとなる。すなわち、検出モデルでは、unknown領域UKにより各クラスのモデル適用領域C1~C3を確実に狭めている。このように、各クラスのモデル適用領域C1~C3が狭まっていることから、作成した検出モデルは、検出対象となる機械学習モデルよりもコンセプトドリフトに弱いモデルとなる。したがって、作成した検出モデルにより、機械学習モデルの精度劣化を検知することができる。
また、検出モデルでは、機械学習モデルに対して、判定スコアにおけるスコア差(パラメータh)を定めておけばよく、検出モデルを作成するためにDNNに関する追加の学習は不要である。
また、図5の左側に示すように、パラメータhの大きさを変えることで、unknown領域UKの大きさ(各クラスのモデル適用領域C1~C3の狭さ)の異なる複数の検出モデルを作成する。作成した検出モデルについては、unknown領域UKが大きく、各クラスのモデル適用領域C1~C3が狭くなるほど、よりコンセプトドリフトに弱いモデルとなる。したがって、コンセプトドリフトに対する弱さの異なる複数の検出モデルを作成することで、検出対象となる機械学習モデルにおける精度劣化の進み具合を精度よく求めることができる。
図6は、本実施形態にかかる情報処理装置の機能構成例を示すブロック図である。図6に示すように、情報処理装置100は、検出モデルの作成に関する各種処理を行う装置であり、例えばパーソナルコンピュータなどを適用できる。
具体的には、情報処理装置100は、通信部110と、入力部120と、表示部130と、記憶部140と、制御部150とを有する。
通信部110は、ネットワークを介して、外部装置(図示略)とデータ通信を実行する処理部である。通信部110は、通信装置の一例である。後述する制御部150は、通信部110を介して、外部装置とデータをやり取りする。
入力部120は、情報処理装置100に対して各種の情報を入力するための入力装置である。入力部120は、キーボードやマウス、タッチパネル等に対応する。
表示部130は、制御部150から出力される情報を表示する表示装置である。表示部130は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、タッチパネル等に対応する。
記憶部140は、教師データ141、機械学習モデルデータ142、インスペクターテーブル143および出力結果テーブル144を有する。記憶部140は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
教師データ141は、訓練データセット141aと、検証データ141bを有する。訓練データセット141aは、訓練データに関する各種の情報を保持する。
図7は、訓練データセット141aのデータ構造の一例を示す図である。図7に示すように、訓練データセット141aは、レコード番号と、訓練データと、正解ラベルとを対応付ける。レコード番号は、訓練データと、正解ラベルとの組を識別する番号である。訓練データは、メールスパムのデータ、電気需要予測、株価予測、ポーカーハンドのデータ、画像データ等に対応する。正解ラベルは、第1クラス(A)、第2クラス(B)、第3クラス(C)の各分類クラスのうち、いずれかの分類クラスを一意に識別する情報である。
検証データ141bは、訓練データセット141aによって学習された機械学習モデルを検証するためのデータである。検証データ141bは、正解ラベルが付与される。たとえば、検証データ141bを、機械学習モデルに入力した場合に、機械学習モデルから出力される出力結果が、検証データ141bに付与される正解ラベルに一致する場合、訓練データセット141aによって、機械学習モデルが適切に学習されたことを意味する。
機械学習モデルデータ142は、コンセプトドリフトによる精度変化の検出対象となる機械学習モデルのデータである。図8は、機械学習モデルの一例を説明するための図である。図8に示すように、機械学習モデル50は、ニューラルネットワークの構造を有し、入力層50a、隠れ層50b、出力層50cを有する。入力層50a、隠れ層50b、出力層50cは、複数のノードがエッジで結ばれる構造となっている。隠れ層50b、出力層50cは、活性化関数と呼ばれる関数とバイアス値とを持ち、エッジは、重みを持つ。以下の説明では、バイアス値、重みを「重みパラメータ」と表記する。
入力層50aに含まれる各ノードに、データ(データの特徴量)を入力すると、隠れ層50bを通って、出力層50cのノード51a、51b、51cから、各クラスの確率が出力される。たとえば、ノード51aから、第1クラス(A)の確率が出力される。ノード51bから、第2クラス(B)の確率が出力される。ノード51cから、第3クラス(C)の確率が出力される。各クラスの確率は、出力層50cの各ノードから出力される値を、ソフトマックス(Softmax)関数に入力することで、算出される。本実施形態では、ソフトマックス関数に入力する前の値を「スコア」と表記し、この「スコア」が判定スコアの一例である。
たとえば、正解ラベル「第1クラス(A)」に対応する訓練データを、入力層50aに含まれる各ノードに入力した場合に、ノード51aから出力される値であって、ソフトマックス関数に入力する前の値を、入力した訓練データのスコアとする。正解ラベル「第2クラス(B)」に対応する訓練データを、入力層50aに含まれる各ノードに入力した場合に、ノード51bから出力される値であって、ソフトマックス関数に入力する前の値を、入力した訓練データのスコアとする。正解ラベル「第3クラス(C)」に対応する訓練データを、入力層50aに含まれる各ノードに入力した場合に、ノード51cから出力される値であって、ソフトマックス関数に入力する前の値を、入力した訓練データのスコアとする。
機械学習モデル50は、教師データ141の訓練データセット141aと、検証データ141bとを基にして、学習済みであるものとする。機械学習モデル50の学習では、訓練データセット141aの各訓練データを入力層50aに入力した場合、出力層50cの各ノードの出力結果が、入力した訓練データの正解ラベルに近づくように、機械学習モデル50のパラメータが学習(誤差逆伝播法による学習)される。
図6の説明に戻る。インスペクターテーブル143は、機械学習モデル50の精度劣化を検知する複数の検出モデル(インスペクターモデル)のデータを保持するテーブルである。
図9は、インスペクターテーブル143のデータ構造の一例を示す図である。図9に示すように、インスペクターテーブル143は、識別情報(例えばM0~M3)と、インスペクターモデルとを対応付ける。識別情報は、インスペクターモデルを識別する情報である。インスペクターは、モデル識別情報に対応するインスペクターモデルのデータである。インスペクターモデルのデータには、図5で説明したパラメータhなどが含まれる。
図6の説明に戻る。出力結果テーブル144は、インスペクターテーブル143による各インスペクターモデル(検出モデル)に、運用中のシステムのデータを入力した際の、各インスペクターモデルの出力結果を登録するテーブルである。
制御部150は、算出部151、作成部152、取得部153および検出部154を有する。制御部150は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部150は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
算出部151は、機械学習モデルデータ142より機械学習モデル50を取得する。次いで、算出部151は、取得した機械学習モデル50に対してデータを入力したときの分類クラスの判定に関する判定スコアを算出する処理部である。具体的には、算出部151は、機械学習モデルデータ142により構築した機械学習モデル50の入力層50aにデータを入力することで、出力層50cより各クラスの確率などの判定スコアを得る。
なお、機械学習モデル50が出力層50cより判定スコアを出力しない場合(分類結果を直接出力する)場合は、機械学習モデル50の学習に使用した教師データ141を用い、各クラスの確率などの判定スコアを出力するように学習した機械学習モデルで代替してもよい。すなわち、算出部151は、機械学習モデル50の学習に用いた教師データ141をもとに判定スコアを出力するように学習した機械学習モデルにデータを入力することで、機械学習モデル50に対してデータを入力したときの分類クラスの判定に関する判定スコアを取得する。
作成部152は、算出した判定スコアに基づき、算出した判定スコアの値が最大の第1の分類クラスと、算出した判定スコアの値が第1の分類クラスの次に大きい値の第2の分類クラスとの間で判定スコアの差分を算出する。そして、作成部152は、判定スコアの値が最大の第1の分類クラスと、判定スコアの値が第1の分類クラスの次に大きい値の第2の分類クラスとの間で判定スコアの差分が所定の閾値以下のときは、分類クラスを未決定と判定する検出モデルを作成する処理部である。具体的には、作成部152は、モデル適用領域C1~C3を狭めるパラメータhを複数決定し(詳細は後述する)、決定したパラメータhそれぞれをインスペクターテーブル143に登録する。
取得部153は、時間経過に伴って特徴量の変化するシステムの運用データを、複数のインスペクターモデルにそれぞれ入力し、出力結果を取得する処理部である。
たとえば、取得部153は、インスペクターテーブル143から、識別情報がM0~M2のインスペクターモデルのデータ(パラメータh)を取得し、運用データに対して各インスペクターモデルを実行する。具体的には、取得部153は、運用データを機械学習モデル50に入力して得られた判定スコアの値について、最大となる分類クラス(1位の分類クラス)と、その分類クラスの次に大きい分類クラス(2位の分類クラス)との間のスコア差がパラメータh以下のときは、分類クラスを未決定(unknown)とする。なお、スコア差がパラメータh以下でないときは、判定スコアに応じた分類クラスとする。次いで、取得部153は、運用データに対して各インスペクターモデルを実行して得られた出力結果を出力結果テーブル144に登録する。
検出部154は、出力結果テーブル144を基にして、運用データの時間変化に基づく、機械学習モデル50の精度変化を検出する処理部である。具体的には、検出部154は、インスタンスに対する各インスペクターモデルの出力の合致度を取得し、取得した合致度の傾向から機械学習モデル50の精度変化を検出する。例えば、各インスペクターモデルの出力の合致度が有意に小さい場合は、コンセプトドリフトによる精度劣化が生じているものとする。検出部154は、機械学習モデル50の精度変化に関する検出結果を表示部130より出力する。これにより、ユーザは、コンセプトドリフトによる精度劣化を認識することができる。
ここで、算出部151、作成部152、取得部153および検出部154の処理の詳細を説明する。図10は、本実施形態にかかる情報処理装置100の動作例を示すフローチャートである。
図10に示すように、処理が開始されると、算出部151は、機械学習モデルデータ142により検出対象の機械学習モデル50を構築する。次いで、算出部151は、構築した機械学習モデル50の入力層50aに、機械学習モデル50の学習時に使用した教師データ141を入力する。これにより、算出部151は、出力層50cより各クラスの確率などの判定スコアのスコア情報を取得する(S1)。
次いで、作成部152は、取得したスコア情報をもとに、検出モデル(インスペクターモデル)に関する、unknown領域UKを決めるパラメータhを複数個選ぶ処理を実行する(S2)。なお、パラメータhについては、互いに異なる値であれば任意の値でよく、例えば、教師データ141が特徴空間上のunknown領域UKに含まれる割合で等間隔(例えば20%、40%、60%、80%など)とするように選ぶ。
図11は、パラメータhを選ぶ処理の概要を説明する説明図である。図11において、Morigは、機械学習モデル50(元モデル)を示す。また、M1、M2…は、モデル適用領域C1~C3を狭めた検出モデル(インスペクターモデル)を示す。なお、Mにおける下付き数字はi=1…nであり、nは検出モデルの数である。
図11に示すように、作成部152は、S2において、M1、M2…Miに関するパラメータhのh(h≧0)をn個選ぶ。
ここで、入力データD1について、特に区別しない場合は単に「D」と表記し、教師データ141に含まれる訓練データセット141a(テストデータ)についてはDtest、運用データについてはDdriftと表記する。
また、モデルの合致度を計算する関数として、agreement(Ma,Mb,D)を定義する。このagreement関数では、Dのインスタンスに対する2つのモデル(Ma、Mb)の判定が一致する個数の割合を返す。ただし、agreement関数では、未決定の分類クラス同士は一致しているものとみなさない。
図12は、インスタンスに対する各モデルのクラス分類の一例を示す説明図である。図12に示すように、クラス分類結果60は、データDのインスタンス(1~9)に対するモデルMa、Mbの出力(分類)と一致の有無(Y/N)を示している。このようなクラス分類結果60において、agreement関数は、次のとおりの値を返す。
agreement関数(Ma,Mb,D)=一致数/インスタンス数=4/9
agreement関数(Ma,Mb,D)=一致数/インスタンス数=4/9
また、補助関数として、agreement2(h,D)=agreement(Morig,Mh,D)を定義する。Mhは、モデルMorigをパラメータhを用いて狭めたモデルである。
作成部152は、パラメータhにおけるhi(i=1…n)について、Dtestに対する合致度が等差減少(例えば20%、40%、60%、80%など)するように、以下の通りに決定する。なお、agreement2(h,D)はhに対し単調減少である。
hi=argmaxhagreement2(h,Dtest)s.t. agreement2(h,Dtest)≦(n-i)/n
hi=argmaxhagreement2(h,Dtest)s.t. agreement2(h,Dtest)≦(n-i)/n
図10に戻り、作成部152は、選んだパラメータ(hi)ごとに、インスペクターモデル(検出モデル)を生成する(S3)。具体的には、作成部152は、決定したhiそれぞれをインスペクターテーブル143に登録する。
このインスペクターモデル(検出モデル)は、内部では元のモデル(機械学習モデル50)を参照している。そして、インスペクターモデル(検出モデル)は、元のモデルの出力がインスペクターテーブル143に登録されたhiに基づくunknown領域UK内であれば、判定結果を未決定(unknown)と置き換えるように振る舞う。
すなわち、取得部153は、運用データ(Ddrift)を機械学習モデル50に入力して判定スコアを得る。次いで、取得部153は、得られた判定スコアについて、1位となる分類クラスと2位となる分類クラスとの間のスコア差がインスペクターテーブル143に登録されたhi以下のときは、分類クラスを未決定(unknown)とする。なお、スコア差がパラメータh以下でないときは、判定スコアに応じた分類クラスとする。このように各インスペクターモデルを実行して得られた出力結果を、取得部153は出力結果テーブル144に登録する。検出部154は、出力結果テーブル144を基にして機械学習モデル50の精度変化を検出する。
このように、情報処理装置100では、作成部152が作成したインスペクターモデルを用いて精度劣化を検知する(S4)。
例えば、取得部153は、上位2つの分類クラスにおけるスコア差の関数であるsureness(x)を用いて分類クラスを未決定(unknown)とするか否かを判定する。
図13は、sureness関数を説明するための説明図である。図13に示すように、パラメータhのインスペクターモデルを用いてインスタンスXを判定するものとする。
ここで、インスペクターモデルがインスタンスXを判定する際のスコア最高の分類クラスのスコアをsfirst、スコア2番目の分類クラスのスコアをssecondとする。
sureness関数は、次のとおりである。なお、φ(s)はモデルのスコアの範囲が0以上1以下ならばlog(s)、それ以外はsとする。
sureness(x):=φ(sfirst)-φ(ssecond)
sureness(x):=φ(sfirst)-φ(ssecond)
本実施形態では、スコアの差(sureness)を用いて領域を順序づけるため、スコアの差演算に意味がある。また、スコアの差は領域に寄らず等価値であることが必要となる。
例えば、ある点でのスコア差(4-3=1)は、別の点でのスコア差(10-9=1)と価値が等しい必要がある。そのような性質を満たすためには、例えば、スコアの差が損失関数に相当すればよい。損失関数は全体で平均を取るため、加法性があり、同じ値の価値はどこでも等しい。
例えば、モデルが損失関数としてログ損失(log-loss)を用いる場合、yiを真値、piを予測の正解確率として、損失は-yilog(pi)である。ここで加法性があるのはlog(pi)なので、これをスコアとして利用できればよい。
しかし、多くのMLアルゴリズムはスコアとしてpiを出力するので、その場合にはlog()を適用する必要がある。
スコアが確率を意味することが判っていれば、log()を適用すればよい。不明な場合には、自動判定(0以上1以下であれば適用など)する選択もあるし、保守的に何も適用せずにスコアの値をそのまま使うという選択もある。
以下のように、関数surenessの定義に関数φが挟まれている理由は、スコアに上記の性質を満たすようφで変換するためである。
sureness(x):=φ(scorefirst)-φ(scoresecond)
sureness(x):=φ(scorefirst)-φ(scoresecond)
ここで、取得部153は、狭めたモデルMiの判定結果について、Morigの
判定結果より以下の通りに改変する。
sureness(x)≧hiの場合:Morigの判定クラスをそのまま用いる。
sureness(x)<hiの場合:unknownクラスとする。
判定結果より以下の通りに改変する。
sureness(x)≧hiの場合:Morigの判定クラスをそのまま用いる。
sureness(x)<hiの場合:unknownクラスとする。
また、検出部154は、データDの各インスペクターモデルにおける平均合致度を計算する関数(ag_mean(D))を用いてモデル精度の劣化検知を行う。このag_mean(D)は次のとおりである。
ag_mean(D):=meani(agreement(Morig,Mi,D))
ag_mean(D):=meani(agreement(Morig,Mi,D))
そして、検出部154は、各Miについて、agreement(Morig,Mi,Ddrift)を求め、その傾向から精度劣化の有無を判定する。例えば、ag_mean(Ddrift)がag_mean(Dtest)より有意に小さければ、コンセプトドリフトによる精度劣化があるものと判定する。
ここで、検出部154が行う計算処理における平均合致度ag_mean(Ddrift)の高速計算について説明する。
前述の定義に素直に従って計算すると、狭めたモデルの数nを多くするほど計算時間がかかる。しかし、nを小さくしては検出精度が落ちるというトレードオフが生じている。しかし、検出部154は、以下に述べる計算方法を用いることで、モデル数nにほとんど影響を受けず高速に計算することができる。
ここで、hiで定義されるunknown領域をUiとする。図14は、unknown領域とパラメータとの関係を説明する説明図である。
図14に示すように、先述のhiの定義を用いると、i<jならば、hi≦hjかつUi⊂Ujという関係が成り立つ。すなわち、各unknown領域Uiの間には全順序関係が成り立ち、さらにUiの順序はhiの順序を保つ。図示例では、h1<h2<h3⇔U1⊂U2⊂U3といえる。
したがって、ある領域についての計算には、そこに含まれるより小さい領域の計算結果が利用できる。また、領域Ui間の関係はhiの関係だけを見れば十分である。本計算方法では、これらの性質を利用する。
先ず、以下の通りに定義する。
・hiで定義されるunknown領域をUiとする。すなわち、Ui:={x|sureness(x)<hi}
・DdriftがUiに入る割合をuiとする。ui:=|{x|x∈Ui,x∈Ddrift}|/|Ddrift|
・agreement2関数の定義から、以下が成り立つ。
agreement2(hi,Ddrift)=1-ui
・差分領域RiをRi:=Ui-Ui-1と定義する。ただし、R1:=U1
・i≧2のときRi={x|hi-1≦sureness(x)<hi}
・DdriftがRiに入る割合をriとする。ri:=|{x|x∈Ri,x∈Ddrift}|/|Ddrift|
・r1=u1,i≧2のときri=ui-ui-1である。
・また、ui=ri+ri-1+...+r2+r1である。
・hiで定義されるunknown領域をUiとする。すなわち、Ui:={x|sureness(x)<hi}
・DdriftがUiに入る割合をuiとする。ui:=|{x|x∈Ui,x∈Ddrift}|/|Ddrift|
・agreement2関数の定義から、以下が成り立つ。
agreement2(hi,Ddrift)=1-ui
・差分領域RiをRi:=Ui-Ui-1と定義する。ただし、R1:=U1
・i≧2のときRi={x|hi-1≦sureness(x)<hi}
・DdriftがRiに入る割合をriとする。ri:=|{x|x∈Ri,x∈Ddrift}|/|Ddrift|
・r1=u1,i≧2のときri=ui-ui-1である。
・また、ui=ri+ri-1+...+r2+r1である。
次に、ag_mean(Dtest)とag_mean(Ddrift)の高速計算は次のとおりである。
ag_mean(Dtest)=meani=1...n(agreement2(hi,Dtest))
=meani=1...n((n-i)/n)=1/2(1-1/n)
=meani=1...n((n-i)/n)=1/2(1-1/n)
ag_mean(Ddrift)=meani=1...n(agreement2(hi,Ddrift))
=meani=1...n(1-ui)
=meani=1...n(1-(r1+r2+...+ri))
=meani=1...n(ri+1+ri+2+...+rn)
=1/n*(r2+r3+...+rn
+r3+...+rn
...
+rn)
=meani=1...n((i-1)*ri);riを定義に従い展開
=meanx∈Ddrift(su2index(sureness(x))-1)/|Ddrift|
=meani=1...n(1-ui)
=meani=1...n(1-(r1+r2+...+ri))
=meani=1...n(ri+1+ri+2+...+rn)
=1/n*(r2+r3+...+rn
+r3+...+rn
...
+rn)
=meani=1...n((i-1)*ri);riを定義に従い展開
=meanx∈Ddrift(su2index(sureness(x))-1)/|Ddrift|
なお、su2index()は、sureness(x)を引数としてxが属する領域Riの添え字を返す関数である。この関数は、i≧2のときRi={x|hi-1≦sureness(x)<hi}という関係を利用すると、2分探索などで実装できる。
su2index()は、ロバスト統計量である分位点に相当する。計算量については次のとおりである。
計算量:O(d log(min(d, t, n))),where t=|Dtest|,d=|Ddrift|
計算量:O(d log(min(d, t, n))),where t=|Dtest|,d=|Ddrift|
図15は、検証結果を説明する説明図である。図15の検証結果E1は、分類クラス0に関する検証結果であり、検証結果E2は、分類クラス1,4に関する検証結果である。なお、グラフG1は、元のモデル(機械学習モデル50)の精度を示すグラフであり、グラフG2は、複数のインスペクターモデルの合致率を示すグラフである。検証においては、例えば教師データ141をオリジナルデータとし、回転などによりオリジナルデータの改変度合い(ドリフト度)を強めたデータを入力データとして検証している。
図15のグラフG1と、グラフG2とを比較しても明らかなように、モデルの精度の劣化(グラフG1の下降)に応じて、インスペクターモデルにおけるグラフG2も下降している。したがって、グラフG2の下降より、コンセプトドリフトによる精度劣化を検知することが可能である。また、グラフG1の下降と、グラフG2の下降との相関が強いことから、グラフG2の下降具合をもとに、検知対象の機械学習モデル50の精度を求めることができる。
(変形例)
上記の実施形態では、検出モデル(インスペクターモデル)の個数(n)を決めていた。また、個数が十分でないと、劣化検出の精度が落ちるという問題もある。そこで、変形例では、検出モデル(インスペクターモデル)の個数を決めないで済む方法を提供する。理論的には、検出モデル(インスペクターモデル)の個数を無限個とする。なお、この場合の計算時間は、個数を決める場合とほぼ同じとなる。
上記の実施形態では、検出モデル(インスペクターモデル)の個数(n)を決めていた。また、個数が十分でないと、劣化検出の精度が落ちるという問題もある。そこで、変形例では、検出モデル(インスペクターモデル)の個数を決めないで済む方法を提供する。理論的には、検出モデル(インスペクターモデル)の個数を無限個とする。なお、この場合の計算時間は、個数を決める場合とほぼ同じとなる。
具体的には、作成部152は、算出した判定スコアに基づき、前述したsurenessの確率分布(累積分布関数)を調べておけばよい。このように、surenessの確率分布を調べておくことで、検出モデル(インスペクターモデル)について、理論的に無限個あるように扱うことができ、また、明示的に作成する必要がなくなる。
また、取得部153では、モデル精度劣化を検知する仕組みの中で、平均合致率を計算する際に、次のとおりに計算する。
・ag_mean(Dtest)とag_mean(Ddrift)の高速計算において、インスペクターモデルの個数nを、無限(n→∞)にする。
・ag_mean(Dtest)=1/2
・ag_mean(Ddrift)=meanx∈Ddrift(su2pos(sureness(x)))
・Dtestにおいて、{s|s=sureness(x),x∈Dtest}で定義される変数sの累積分布関数F(s)=P(Xs≦s)を求め、関数su2posを以下で定義する。
・su2pos(sureness):=F(sureness)
・ag_mean(Dtest)とag_mean(Ddrift)の高速計算において、インスペクターモデルの個数nを、無限(n→∞)にする。
・ag_mean(Dtest)=1/2
・ag_mean(Ddrift)=meanx∈Ddrift(su2pos(sureness(x)))
・Dtestにおいて、{s|s=sureness(x),x∈Dtest}で定義される変数sの累積分布関数F(s)=P(Xs≦s)を求め、関数su2posを以下で定義する。
・su2pos(sureness):=F(sureness)
このsu2pos()も、ロバスト統計量である分位点に相当する。よって、計算量は次の通りである。
計算量:O(d log(min(d,t)),where t=|Dtest|,d=|Ddrift|
計算量:O(d log(min(d,t)),where t=|Dtest|,d=|Ddrift|
以上のように、情報処理装置100は、算出部151と、作成部152とを有する。算出部151は、精度変化の検出対象となる機械学習モデル50を取得し、取得した機械学習モデル50に対してデータを入力したときの分類クラスの判定に関する判定スコアを算出する。作成部152は、算出した判定スコアの値が最大の第1の分類クラスと、算出した判定スコアの値が第1の分類クラスの次に大きい値の第2の分類クラスとの間で判定スコアの差分を算出する。また、作成部152は、算出した判定スコアの差分が予め設定された閾値以下のときは、分類クラスを未決定と判定する検出モデルを作成する。
このように、情報処理装置100では、機械学習モデル50における特徴空間上での決定境界を広げて分類クラスを未決定とするunknown領域UKを設け、各クラスのモデル適用領域C1~C3を意図的に狭める検出モデルを作成するので、作成した検出モデルにより機械学習モデル50の精度劣化を検知することができる。
また、作成部152は、閾値が互いに異なる複数の検出モデルを作成する。このように、情報処理装置100では、閾値が互いに異なる複数の検出モデル、すなわちunknown領域UKの広さが異なる複数の検出モデルを作成する。これにより、情報処理装置100では、作成した複数の検出モデルにより、コンセプトドリフトによる機械学習モデル50の精度劣化の進み具合を検知することができる。
また、作成部152は、判定スコアそれぞれの機械学習モデル50における分類クラスの判定結果と、判定スコアそれぞれの検出モデルにおける分類クラスの判定結果との一致割合を所定値とするように閾値を定める。これにより、情報処理装置100では、入力データに対する機械学習モデル50による判定結果に対して一致割合が所定の割合となる検出モデルを作成できるので、作成した検出モデルによりコンセプトドリフトによる機械学習モデル50の精度の劣化度を測ることができる。
また、算出部151は、機械学習モデル50の学習に関する教師データ141を用いて判定スコアを算出する。このように、情報処理装置100では、機械学習モデル50の学習に関する教師データ141をサンプルとして算出した判定スコアをもとに、検出モデルの作成を行ってもよい。このように教師データ141を用いることで、情報処理装置100では、検出モデルを作成するために新たなデータを用意することなく、容易に検出モデルを作成することができる。
上記の実施形態で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、任意に変更することができる。また、上記の実施形態で説明した具体例、分布、数値などは、あくまで一例であり、任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPU(Central Processing Unit)および当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウエアとして実現され得る。
例えば、情報処理装置100で行われる各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。また、情報処理装置100で行われる各種処理機能は、クラウドコンピューティングにより、複数のコンピュータが協働して実行してもよい。
ところで、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施形態と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図16は、作成プログラムを実行するコンピュータの一例を示すブロック図である。
図16に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、データ入力を受け付ける入力装置202と、モニタ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る媒体読取装置204と、各種装置と接続するためのインタフェース装置205と、他の情報処理装置等と有線または無線により接続するための通信装置206とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM207と、ハードディスク装置208とを有する。また、各装置201~208は、バス209に接続される。
ハードディスク装置208には、図6に示した算出部151、作成部152、取得部153および検出部154の各処理部と同様の機能を実現するための作成プログラム208Aが記憶される。また、ハードディスク装置208には、算出部151、作成部152、取得部153および検出部154に関連する各種データ(例えばインスペクターテーブル143など)が記憶される。入力装置202は、例えば、コンピュータ200の利用者から操作情報等の各種情報の入力を受け付ける。モニタ203は、例えば、コンピュータ200の利用者に対して表示画面等の各種画面を表示する。インタフェース装置205は、例えば印刷装置等が接続される。通信装置206は、図示しないネットワークと接続され、他の情報処理装置と各種情報をやりとりする。
CPU201は、ハードディスク装置208に記憶された作成プログラム208Aを読み出して、RAM207に展開して実行することで、情報処理装置100の各機能を実行するプロセスを動作させる。すなわち、このプロセスは、情報処理装置100が有する各処理部と同様の機能を実行する。具体的には、CPU201は、算出部151、作成部152、取得部153および検出部154と同様の機能を実現するための作成プログラム208Aをハードディスク装置208から読み出す。そして、CPU201は、算出部151、作成部152、取得部153および検出部154と同様の処理を実行するプロセスを実行する。
なお、上記の作成プログラム208Aは、ハードディスク装置208に記憶されていなくてもよい。例えば、コンピュータ200が読み取り可能な記憶媒体に記憶された作成プログラム208Aを、コンピュータ200が読み出して実行するようにしてもよい。コンピュータ200が読み取り可能な記憶媒体は、例えば、CD-ROMやDVD(Digital Versatile Disc)、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置に作成プログラム208Aを記憶させておき、コンピュータ200がこれらから作成プログラム208Aを読み出して実行するようにしてもよい。
1A~1C、20A~20C、24A~24C…分布
3、12A、12B、K…決定境界
3a~5B、21A~23C、25A~27C、C1~C3…モデル適用領域
10、50…機械学習モデル
11A~11C…インスペクターモデル
50a…入力層
50b…隠れ層
50c…出力層
51a~51c…ノード
60…クラス分類結果
100…情報処理装置
110…通信部
120…入力部
130…表示部
140…記憶部
141…教師データ
141a…訓練データセット
141b…検証データ
142…機械学習モデルデータ
143…インスペクターテーブル
144…出力結果テーブル
150…制御部
151…算出部
152…作成部
153…取得部
154…検出部
200…コンピュータ
201…CPU
202…入力装置
203…モニタ
204…媒体読取装置
205…インタフェース装置
206…通信装置
207…RAM
208…ハードディスク装置
208A…作成プログラム
209…バス
D、D1~D2…入力データ
E1、E2…検証結果
G1、G2…グラフ
h…パラメータ
K…決定境界
M…モデル
T1、T2…時間
UK…unknown領域
3、12A、12B、K…決定境界
3a~5B、21A~23C、25A~27C、C1~C3…モデル適用領域
10、50…機械学習モデル
11A~11C…インスペクターモデル
50a…入力層
50b…隠れ層
50c…出力層
51a~51c…ノード
60…クラス分類結果
100…情報処理装置
110…通信部
120…入力部
130…表示部
140…記憶部
141…教師データ
141a…訓練データセット
141b…検証データ
142…機械学習モデルデータ
143…インスペクターテーブル
144…出力結果テーブル
150…制御部
151…算出部
152…作成部
153…取得部
154…検出部
200…コンピュータ
201…CPU
202…入力装置
203…モニタ
204…媒体読取装置
205…インタフェース装置
206…通信装置
207…RAM
208…ハードディスク装置
208A…作成プログラム
209…バス
D、D1~D2…入力データ
E1、E2…検証結果
G1、G2…グラフ
h…パラメータ
K…決定境界
M…モデル
T1、T2…時間
UK…unknown領域
Claims (12)
- 精度変化の検出対象となる学習モデルを取得し、
取得した前記学習モデルに対して、データを入力したときの分類クラスの判定に関する判定スコアを算出し、
算出した前記判定スコアの値が最大の第1の分類クラスと、算出した前記判定スコアの値が前記第1の分類クラスの次に大きい値の第2の分類クラスとの間で前記判定スコアの差分を算出し、
算出した前記判定スコアの差分が予め設定された閾値以下のときは、前記分類クラスを未決定と判定する検出モデルを作成する、
処理をコンピュータが実行することを特徴とする作成方法。 - 前記作成する処理は、前記閾値が互いに異なる複数の検出モデルを作成する、
ことを特徴とする請求項1に記載の作成方法。 - 前記作成する処理は、前記判定スコアそれぞれの前記学習モデルにおける分類クラスの判定結果と、前記判定スコアそれぞれの前記検出モデルにおける分類クラスの判定結果との一致割合を所定値とするように前記閾値を定める、
ことを特徴とする請求項1に記載の作成方法。 - 前記判定スコアを算出する処理は、前記学習モデルの学習に関する教師データを用いて前記判定スコアを算出する、
ことを特徴とする請求項1に記載の作成方法。 - 精度変化の検出対象となる学習モデルを取得し、
取得した前記学習モデルに対して、データを入力したときの分類クラスの判定に関する判定スコアを算出し、
算出した前記判定スコアの値が最大の第1の分類クラスと、算出した前記判定スコアの値が前記第1の分類クラスの次に大きい値の第2の分類クラスとの間で前記判定スコアの差分を算出し、
算出した前記判定スコアの差分が予め設定された閾値以下のときは、前記分類クラスを未決定と判定する検出モデルを作成する、
処理をコンピュータに実行させることを特徴とする作成プログラム。 - 前記作成する処理は、前記閾値が互いに異なる複数の検出モデルを作成する、
ことを特徴とする請求項5に記載の作成プログラム。 - 前記作成する処理は、前記判定スコアそれぞれの前記学習モデルにおける分類クラスの判定結果と、前記判定スコアそれぞれの前記検出モデルにおける分類クラスの判定結果との一致割合を所定値とするように前記閾値を定める、
ことを特徴とする請求項5に記載の作成プログラム。 - 前記判定スコアを算出する処理は、前記学習モデルの学習に関する教師データを用いて前記判定スコアを算出する、
ことを特徴とする請求項5に記載の作成プログラム。 - 精度変化の検出対象となる学習モデルを取得し、取得した前記学習モデルに対して、データを入力したときの分類クラスの判定に関する判定スコアを算出する算出部と、
算出した前記判定スコアの値が最大の第1の分類クラスと、算出した前記判定スコアの値が前記第1の分類クラスの次に大きい値の第2の分類クラスとの間で前記判定スコアの差分を算出し、算出した前記判定スコアの差分が予め設定された閾値以下のときは、前記分類クラスを未決定と判定する検出モデルを作成する作成部と、
を有することを特徴とする情報処理装置。 - 前記作成部は、前記閾値が互いに異なる複数の検出モデルを作成する、
ことを特徴とする請求項9に記載の情報処理装置。 - 前記作成部は、前記判定スコアそれぞれの前記学習モデルにおける分類クラスの判定結果と、前記判定スコアそれぞれの前記検出モデルにおける分類クラスの判定結果との一致割合を所定値とするように前記閾値を定める、
ことを特徴とする請求項9に記載の情報処理装置。 - 前記算出部は、前記学習モデルの学習に関する教師データを用いて前記判定スコアを算出する、
ことを特徴とする請求項9に記載の情報処理装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/041806 WO2021079484A1 (ja) | 2019-10-24 | 2019-10-24 | 作成方法、作成プログラムおよび情報処理装置 |
JP2021553250A JP7268755B2 (ja) | 2019-10-24 | 2019-10-24 | 作成方法、作成プログラムおよび情報処理装置 |
US17/719,453 US20220237475A1 (en) | 2019-10-24 | 2022-04-13 | Creation method, storage medium, and information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/041806 WO2021079484A1 (ja) | 2019-10-24 | 2019-10-24 | 作成方法、作成プログラムおよび情報処理装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/719,453 Continuation US20220237475A1 (en) | 2019-10-24 | 2022-04-13 | Creation method, storage medium, and information processing device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021079484A1 true WO2021079484A1 (ja) | 2021-04-29 |
Family
ID=75619719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/041806 WO2021079484A1 (ja) | 2019-10-24 | 2019-10-24 | 作成方法、作成プログラムおよび情報処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220237475A1 (ja) |
JP (1) | JP7268755B2 (ja) |
WO (1) | WO2021079484A1 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6513314B1 (ja) * | 2018-07-30 | 2019-05-15 | 楽天株式会社 | 判定システム、判定方法及びプログラム |
-
2019
- 2019-10-24 WO PCT/JP2019/041806 patent/WO2021079484A1/ja active Application Filing
- 2019-10-24 JP JP2021553250A patent/JP7268755B2/ja active Active
-
2022
- 2022-04-13 US US17/719,453 patent/US20220237475A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6513314B1 (ja) * | 2018-07-30 | 2019-05-15 | 楽天株式会社 | 判定システム、判定方法及びプログラム |
Non-Patent Citations (2)
Title |
---|
ISHIBUCHI, HISAO ET AL.: "Neural-Network-Based Multiclass Approximate Classification", JOURNAL OF JAPAN INDUSTRIAL MANAGEMENT ASSOCIATION, vol. 44, no. 6, February 1994 (1994-02-01), pages 517 - 525, ISSN: 0386-4812 * |
KADAM SHWETA: "A Survey on Classification of Concept Drift with Stream Data", HAL ARCHIVES- OUVERTES.FR, HAL CCSD, 9 March 2019 (2019-03-09), XP055819282, Retrieved from the Internet <URL:https://hal.archives-ouvertes.fr/hal-02062610/document> [retrieved on 20210629] * |
Also Published As
Publication number | Publication date |
---|---|
JPWO2021079484A1 (ja) | 2021-04-29 |
US20220237475A1 (en) | 2022-07-28 |
JP7268755B2 (ja) | 2023-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Akinosho et al. | Deep learning in the construction industry: A review of present status and future innovations | |
US11005872B2 (en) | Anomaly detection in cybersecurity and fraud applications | |
US10013303B2 (en) | Detecting anomalies in an internet of things network | |
US20200379868A1 (en) | Anomaly detection using deep learning models | |
US20180174062A1 (en) | Root cause analysis for sequences of datacenter states | |
US20150356489A1 (en) | Behavior-Based Evaluation Of Crowd Worker Quality | |
US20230205663A1 (en) | System to track and measure machine learning model efficacy | |
Pennel et al. | Detecting failures and optimizing performance in artificial lift using machine learning models | |
Taha et al. | Clustering the dominant defective patterns in semiconductor wafer maps | |
Chang et al. | Integrating in-process software defect prediction with association mining to discover defect pattern | |
Yilmaz et al. | Adaptive multidimensional outlier analysis for analog and mixed signal circuits | |
US20230281563A1 (en) | Earning code classification | |
JP7276487B2 (ja) | 作成方法、作成プログラム及び情報処理装置 | |
Anaissi et al. | Adaptive online one-class support vector machines with applications in structural health monitoring | |
JP7207540B2 (ja) | 学習支援装置、学習支援方法、及びプログラム | |
US20220230027A1 (en) | Detection method, storage medium, and information processing apparatus | |
US20210365771A1 (en) | Out-of-distribution (ood) detection by perturbation | |
WO2021079484A1 (ja) | 作成方法、作成プログラムおよび情報処理装置 | |
US20220391724A1 (en) | Unsupervised Anomaly Detection With Self-Trained Classification | |
US20220215294A1 (en) | Detection method, computer-readable recording medium, and computng system | |
US20220207307A1 (en) | Computer-implemented detection method, non-transitory computer-readable recording medium, and computing system | |
Martin | Assessing scorecard performance: A literature review and classification | |
Zhu | Anomaly detection over time series data | |
WO2020250312A1 (ja) | 異常検知装置、異常検知方法、及び異常検知プログラム | |
Martens et al. | A neural network approach to the validation of simulation models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19949773 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021553250 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19949773 Country of ref document: EP Kind code of ref document: A1 |