WO2021079459A1 - 検出方法、検出プログラムおよび情報処理装置 - Google Patents
検出方法、検出プログラムおよび情報処理装置 Download PDFInfo
- Publication number
- WO2021079459A1 WO2021079459A1 PCT/JP2019/041690 JP2019041690W WO2021079459A1 WO 2021079459 A1 WO2021079459 A1 WO 2021079459A1 JP 2019041690 W JP2019041690 W JP 2019041690W WO 2021079459 A1 WO2021079459 A1 WO 2021079459A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- model
- inspector
- ratio
- training data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/285—Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Definitions
- the present invention relates to a detection method and the like.
- system Since the machine learning model judges and classifies according to the teacher data learned at the time of system development, the accuracy of the machine learning model deteriorates if the tendency of the input data changes during the system operation.
- FIG. 32 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.
- 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).
- T 2 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 T 2 statistic of the input data is calculated.
- the T 2 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 T 2 statistic of the input data group. For example, the T 2 statistic of the input data group corresponds to the proportion of outlier data.
- an object of the present invention is to provide a detection method, a detection program, and an information processing device capable of detecting an accuracy deterioration of a machine learning model.
- the computer executes the following processing.
- the computer learns the operation model to be monitored by using a plurality of training data corresponding to any of the correct answer labels among at least three types of correct answer labels.
- the computer learns the decision boundaries that classify the data feature space into multiple application areas, and creates an inspector model that calculates the distance from the decision boundaries to the operation data.
- the computer calculates whether or not a plurality of training data are located near the decision boundary by the inspector model, and acquires the first ratio of the training data located near the decision boundary among all the training data.
- the computer uses the inspector model to calculate whether or not multiple operational data corresponding to any of the three or more types of correct labels are located near the decision boundary, and determines the total operational data. Acquire the second percentage of operational data located near the boundary. Based on the first ratio and the second ratio, the computer detects the change in the output result of the operation model due to the time change of the tendency of the operation data.
- FIG. 1 is a diagram for explaining a reference technique.
- FIG. 2 is a diagram showing an example of accuracy deterioration prediction.
- FIG. 3 is a diagram showing an example of concept drift.
- FIG. 4 is a diagram for explaining the basic mechanism of the inspector model.
- FIG. 5 is a diagram for explaining knowledge distillation.
- FIG. 6 is a diagram for explaining a method of calculating a dangerous area around a decision boundary.
- FIG. 7 is a diagram showing the nature of the determination boundary of each machine learning model.
- FIG. 8 is a diagram showing the visualization result of the determination boundary of each inspector model.
- FIG. 9 is a diagram that visualizes the danger zone by each inspector model.
- FIG. 10 is a functional block diagram showing the configuration of the information processing apparatus according to the first embodiment.
- FIG. 10 is a functional block diagram showing the configuration of the information processing apparatus according to the first embodiment.
- FIG. 11 is a diagram showing an example of the data structure of the training data set according to the first embodiment.
- FIG. 12 is a diagram for explaining an example of the machine learning model according to the first embodiment.
- FIG. 13 is a diagram showing an example of the data structure of the distillation data table according to the first embodiment.
- FIG. 14 is a diagram showing an example of the data structure of the operation data table.
- FIG. 15 is a diagram for explaining a determination boundary of the feature space according to the first embodiment.
- FIG. 16 is a diagram (1) for explaining the processing of the creating unit.
- FIG. 17 is a diagram (2) for explaining the processing of the creating unit.
- FIG. 18 is a diagram (1) for explaining the processing of the detection unit according to the first embodiment.
- FIG. 19 is a diagram (2) for explaining the processing of the detection unit according to the first embodiment.
- FIG. 20 is a flowchart showing a processing procedure of the information processing apparatus according to the first embodiment.
- FIG. 21 is a diagram for explaining the processing of the information processing apparatus according to the second embodiment.
- FIG. 22 is a functional block diagram showing the configuration of the information processing apparatus according to the second embodiment.
- FIG. 23 is a diagram showing an example of the data structure of the training data set according to the second embodiment.
- FIG. 24 is a diagram for explaining an example of the machine learning model according to the second embodiment.
- FIG. 25 is a diagram for explaining a determination boundary of the feature space according to the second embodiment.
- FIG. 26 is a diagram showing an example of a determination boundary and a danger zone of the inspector model.
- FIG. 27 is a flowchart showing a processing procedure of the information processing apparatus according to the second embodiment.
- FIG. 21 is a diagram for explaining the processing of the information processing apparatus according to the second embodiment.
- FIG. 22 is a functional block diagram showing the configuration of the information processing apparatus according to the second embodiment.
- FIG. 28 is a diagram for explaining the processing of the information processing apparatus according to the third embodiment.
- FIG. 29 is a functional block diagram showing the configuration of the information processing apparatus according to the third embodiment.
- FIG. 30 is a flowchart showing a processing procedure of the information processing apparatus according to the third embodiment.
- FIG. 31 is a diagram showing an example of a hardware configuration of a computer that realizes the same functions as the information processing apparatus according to the present embodiment.
- FIG. 32 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 a diagram for explaining a 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.
- some modifications are made to the training data, and the inspector models 11A to 11C are created using the modified training data.
- the output results may differ even if the same input data is input.
- 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.
- inspector models 11A to 11C are shown, but accuracy deterioration may be detected by using another inspector model.
- DNN Deep Neural Network
- FIG. 2 is a diagram showing an example of accuracy deterioration prediction.
- the vertical axis of the graph in FIG. 2 is the axis corresponding to accuracy, and the horizontal axis is the axis corresponding to time.
- the accuracy decreases with the passage of time, and at time t1, the accuracy falls below the permissible limit of accuracy.
- the permissible limit For example, in the reference technique, at time t1, deterioration in accuracy (beyond the permissible limit) is detected.
- FIG. 3 is a diagram showing an example of concept drift.
- the vertical axis of FIG. 3 is the axis corresponding to the first feature amount
- the horizontal axis is the axis corresponding to the second feature amount.
- the distribution A 1 of the first data may change to the distribution A 2.
- the original machine learning model 10 the distribution of the first data, because a learning as a distribution A 1, less accurate over time, re-learning is required.
- Data that causes concept drift includes spam emails, electricity demand forecasts, stock price forecasts, poker hand strategic procedures, images, etc.
- an image has different features depending on the season and time zone, even if the subject is the same.
- a plurality of inspector models 11A to 11C are created in order to detect the deterioration of the accuracy of the machine learning model 10. Then, in order to create a plurality of inspector models 11A to 11C, it is essential that the machine learning model 10 and the training data used at the time of learning the machine learning model 10 can be modified in some way.
- the machine learning model 10 is required to be a specific learning model, such as the machine learning model 10 being a model for calculating the degree of certainty.
- the method of detecting the accuracy deterioration of the machine learning model 10 depends on the machine learning model. Since various classification algorithms such as NN (Neural Network), decision tree, k-nearest neighbor method, and support vector machine correspond to the classification algorithm of the machine learning model, which detection method is suitable for detecting accuracy deterioration for each classification algorithm. It is necessary to make a trial and error as to whether it is a method.
- NN Neurological Network
- decision tree decision tree
- k-nearest neighbor method k-nearest neighbor method
- support vector machine correspond to the classification algorithm of the machine learning model, which detection method is suitable for detecting accuracy deterioration for each classification algorithm. It is necessary to make a trial and error as to whether it is a method.
- FIG. 4 is a diagram for explaining the basic mechanism of the inspector model.
- inspectors model by learning and distribution A 1 of training data belonging to the first class
- the decision boundary 5 which is a boundary between the distribution B of training data belonging to the second class is created.
- the danger area 5a of the determination boundary 5 is monitored, and the number of operation data included in the danger area 5a increases (or decreases). Identify whether or not, and detect accuracy deterioration when the number of operational data increases (or decreases).
- the training data is the data used when learning the machine learning model to be monitored.
- the operation data is data to be classified into each classification class using a machine learning model, and the feature amount is assumed to change according to the passage of time from the start of operation.
- the information processing apparatus uses knowledge distillation (KD: Knowledge Distiller) to calculate an increase or decrease in the number of operational data included in the danger region 5a of the determination boundary 5, and determines the accuracy deterioration of the machine learning model. To detect.
- KD Knowledge Distiller
- FIG. 5 is a diagram for explaining knowledge distillation.
- a Student model 7B is constructed that mimics the output value of the Teacher model 7A.
- the training data 6 is given and the training data 6 is given the correct label "dog".
- the Teacher model 7A and the Student model 7B are referred to as NN, but the present invention is not limited thereto.
- the information processing device learns the parameters of the Teacher model 7A (learning by the error backpropagation method) so that the output result of the Teacher model 7A when the training data 6 is input approaches the correct answer label "dog". Further, the information processing apparatus learns the parameters of the Student model 7B so that the output result of the Student model 7B when the training data 6 is input approaches the output result of the Teacher model 7A when the training data 6 is input. ..
- the output of the Teacher model 7A is called "Soft Target”.
- the correct label of the training data is called "Hard Target”.
- the method of learning about the Teacher model 7A using the training data 6 and the hard target, and learning about the Student model 7B using the training data 6 and the soft target is called knowledge distillation. Call.
- the information processing device learns the Teacher model 7A and the Student model 7B in the same manner for the other training data.
- the Student model 7B With a soft target that uses the data space as an input. If the Teacher model 7A and the Student model 7B are constructed with different models, the output result of the Student model 7B is learned to resemble the determination boundary of the output result of the Teacher model 7A. Then, the Teacher model 7A can be treated as a machine learning model to be monitored, and the Student model 7B can be treated as an inspector model. By not narrowing down the model architecture of Teacher model 7A, it is possible to create an inspector model that can be used for general purposes.
- FIG. 6 is a diagram for explaining a method of calculating a dangerous area around a decision boundary.
- the information processing apparatus projects data (soft target) onto a high-dimensional space (reproducing kernel Hilbert space) Hk such that the determination boundary 5 of the feature space becomes a straight line, and calculates a danger region 5a.
- an inspector model is constructed to calculate the distance (signed distance) m 8 between the determination boundary 5 of the high-dimensional space Hk and the data 8.
- the width of the danger zone 5a is the width m and the distance m 8 is less than m, it means that the data 8 is included in the danger zone 5a.
- the calculation of the distance (norm) is calculated by the inner product of the reproducing kernel Hilbert space and corresponds to the kernel trick.
- the distance (norm) is defined by equation (1).
- the information processing device builds an inspector model with a Hard-Margin RBF (Radial Basis Function) kernel SVM (Support Vector Machine).
- the information processing apparatus projects a data space onto the reproducing kernel Hilbert space so that the determination boundary 5 is a straight line.
- the width m of the danger zone 5a is the sensitivity of detection regarding accuracy deterioration, and is determined by the data density near the determination boundary 5.
- the information processing device classifies the soft target area into the area X and the area Y.
- the information processing apparatus projects the region X and the region Y onto the reproducing kernel Hilbert space, and identifies the support vectors Xa and Ya closest to the determination boundary 5 side.
- the information processing apparatus specifies the determination boundary 5 so that the difference between the margin of the support vector Xa and the determination boundary 5 and the margin of the support vector Ya and the determination boundary 5 is minimized. That is, the information processing apparatus executes a process corresponding to twisting the space near the decision boundary on the Euclidean space while learning the deviation from the decision boundary 5 of the monitored machine learning model as a loss.
- the machine learning model is assumed to have been trained by a plurality of training data.
- a plurality of training data will be referred to as a "training data set”.
- the information processing device inputs each training data included in the training data set into the inspector model, and calculates the ratio of the training data included in the danger area 5a among all the training data.
- the ratio of the training data included in the danger zone 5a among all the training data is referred to as “first ratio”.
- the information processing device acquires the operation data set after a lapse of time from the start of operation of the machine learning model.
- the operational data set contains a plurality of operational data.
- the information processing device inputs each operational data included in the operational data set into the inspector model, and calculates the ratio of the operational data included in the dangerous area 5a to the total operational data.
- the ratio of the training data included in the danger zone 5a out of the total operational data is referred to as the “second ratio”.
- the information processing device compares the first ratio with the second ratio, and detects a deterioration in the accuracy of the machine learning model when the second ratio increases or decreases.
- the fact that the second ratio has changed based on the first ratio indicates that more operational data is included in the danger zone 5a and concept drift has occurred compared to when the operation started. ..
- the information processing apparatus acquires an operation data set and repeatedly executes the above processing with the passage of time. As a result, it is possible to create an inspector model that can be used for general purposes regardless of the classification algorithm and detect the deterioration of the accuracy of the machine learning model.
- FIG. 7 is a diagram showing the nature of the determination boundary of each machine learning model.
- the support vector machine Soft-Margin SVM
- the random forest Random Forest
- the NN are trained using the training data set 15.
- the distribution when the data set is input to the learned support vector machine becomes the distribution 20A, and each data is classified into the first class and the second class at the determination boundary 21A.
- the distribution when the data set is input to the learned random forest is the distribution 20B, and each data is classified into the first class and the second class at the determination boundary 21B.
- the distribution when the data set is input to the learned NN is the distribution 20C, and each data is classified into the first class and the second class at the determination boundary 21C.
- the inspector model created by knowledge distillation using a machine learning model is referred to as a first inspector model.
- the inspector model created by knowledge distillation using a machine learning model (random forest) is referred to as a second inspector model.
- the inspector model created by knowledge distillation using a machine learning model (NN) is referred to as a third inspector model.
- FIG. 8 is a diagram showing the result of visualizing the determination boundary of each inspector model.
- the information processing apparatus creates the first inspector model based on the distribution 20A
- the distribution of the first inspector model is as shown in 22A
- the decision boundary is the decision boundary 23A.
- the distribution of the second inspector model is as shown in 22B, and the decision boundary is the decision boundary 23B.
- the distribution of the third inspector model is as shown in 22C, and the decision boundary is the decision boundary 23C.
- FIG. 9 is a diagram that visualizes the dangerous area by each inspector model.
- the danger zone based on the determination boundary 23A of the first inspector model is the danger zone 24A.
- the danger zone based on the determination boundary 23B of the second inspector model is the danger zone 24B.
- the danger zone based on the determination boundary 23C of the third inspector model is the danger zone 24C.
- FIG. 10 is a functional block diagram showing the configuration of the information processing apparatus according to the first embodiment.
- 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 teacher data 141, machine learning model data 142, distillation data table 143, inspector model data 144, and operation data table 145.
- 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. 11 is a diagram showing an example of the data structure of the training data set according to the first embodiment.
- this training data set associates record numbers with training data with correct labels.
- 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 label is information that uniquely identifies the first class or the second class.
- 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.
- the machine learning model is a machine learning model that classifies input data into a first class or a second class by a predetermined classification algorithm.
- the classification algorithm may be any of NN, random forest, k-nearest neighbor method, support vector machine, and the like.
- FIG. 12 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 "parameters".
- the probability of each class is output from the nodes 51a and 51b of the output layer 20c through the hidden layer 20b.
- the probability of the first class is output from the node 51a.
- the probability of the second class is output from the node 51b.
- the distillation data table 143 is a table that stores the output result (soft target) when each data of the data set is input to the machine learning model 50.
- FIG. 13 is a diagram showing an example of the data structure of the distillation data table according to the first embodiment. As shown in FIG. 13, the distillation data table 143 associates the record number with the input data and the soft target. The record number is a number that identifies a pair of input data and a soft target.
- the input data is data selected by the creating unit 152 based on the determined boundary (feature space including the determined boundary) of the learned machine learning model 50.
- the soft target is output when the input data is input to the trained machine learning model 50.
- the soft target according to the first embodiment shall indicate one of the first class or the second class.
- the inspector model data 144 is the data of the inspector model built by the Hard-Margin RBF kernel SVM.
- the Hard-Margin RBF kernel SVM is referred to as "kSVM".
- kSVM Hard-Margin RBF kernel SVM
- a signed distance value is output. For example, if the sign is positive, the input data is classified into the first class. If the sign is negative, the data is classified in the second class. Distance indicates the distance between the data and the decision boundary.
- the operational data table 145 has an operational data set that is added over time.
- FIG. 14 is a diagram showing an example of the data structure of the operation data table.
- the operational data table 145 has data identification information and operational data sets.
- the data identification information is information that identifies an operational data set.
- the operational data set contains a plurality of operational data. Operational data corresponds to email spam data, electricity demand forecasts, stock price forecasts, poker hand data, image data, and the like.
- the control unit 150 includes a learning unit 151, a creation unit 152, a detection unit 153, and a prediction 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 learning unit 151 is a processing unit that acquires the training data set 141a and learns the parameters of the machine learning model 50 based on the training data set 141a. For example, when the training unit 151 inputs the training data of the training data set 141a to the input layer of the machine learning model 50, the output result of each node of the output layer approaches the correct answer label of the input training data. The parameters of the machine learning model 50 are updated (training by the error back propagation method). The learning unit 151 repeatedly executes the above processing for each training data included in the training data set 141a. Further, the learning unit 151 may verify the machine learning model 50 by using the verification data 141b. The learning unit 151 registers the learned machine learning model 50 data (machine learning model data 142) in the storage unit 140.
- the machine learning model 50 is an example of an “operating model”.
- FIG. 15 is a diagram for explaining the determination boundary of the feature space according to the first embodiment.
- the feature space 30 is a visualization of each training data of the training data set 141a.
- the horizontal axis of the feature space 30 corresponds to the axis of the first feature amount
- the vertical axis corresponds to the axis of the second feature amount.
- each training data is shown on two axes, but the training data is assumed to be multidimensional data.
- the correct answer label corresponding to the training data marked with a circle is referred to as "first class”
- the correct answer label corresponding to the training data marked with a triangle is referred to as "second class”.
- the feature space 30 is classified into a model application area 31A and a model application area 31B by the determination boundary 31.
- the machine learning model 50 is NN
- the probability of the first class and the probability of the second class are output. If the probability of the first class is greater than that of the second class, the data is classified into the first class. If the probability of the second class is greater than that of the first class, the data is classified into the second class.
- the creation unit 152 is a processing unit that creates an inspector model by learning the determination boundary 31 between the model application region 31A and the model application region 31B based on the knowledge distillation of the machine learning model 50.
- data training data or operational data
- the distance between the decision boundary 31 and the data signed distance value
- the creation unit 152 executes a process of generating the distillation data table 143 and a process of creating the inspector model data 144.
- FIG. 16 is a diagram (1) for explaining the processing of the creating unit.
- the creation unit 152 executes the machine learning model 50 using the machine learning model data 142, and inputs each data on the feature space 30 into the machine learning model 50. Thereby, it is specified whether each data of the feature space 30 is classified into the first class or the second class. By executing such processing, the creation unit 152 classifies the feature space into the model application area 31A and the model application area 31B, and specifies the determination boundary 31.
- the creation unit 152 arranges a plurality of vertical lines and horizontal lines at predetermined intervals on the feature space 30.
- a grid in which a plurality of vertical lines and horizontal lines are arranged at predetermined intervals is referred to as a "grid". It is assumed that the width of the grid is set in advance.
- the creation unit 152 selects the data of the intersection coordinates of the grid and outputs the selected data to the machine learning model 50 to calculate the soft target corresponding to the selected data.
- the creation unit 152 associates the selected data (input data) with the soft target and registers it in the distillation data table 143.
- the creation unit 152 also generates the distillation data table 143 by repeatedly executing the above processing for the data of the coordinates of each intersection of the grid.
- FIG. 17 is a diagram (2) for explaining the processing of the creating unit.
- the creation unit 152 creates an inspector model 35 constructed by kSVM based on the relationship between the input data registered in the distillation data table 143 and the soft target.
- the creation unit 152 registers the created data of the inspector model 35 (inspector model data 144) in the storage unit 140.
- the creating unit 152 projects each input data stored in the distillation data table 143 into the reproducing kernel Hilbert space.
- the creation unit 152 selects the input data closest to the determination boundary 31 among the input data of the first class included in the reproducing kernel Hilbert space as the first support vector.
- the creation unit 152 selects the input data closest to the determination boundary 31 among the input data of the second class included in the reproducing kernel Hilbert space as the second support vector.
- the creation unit 152 specifies the hyperparameters of the inspector model (kSVM) by specifying the determination boundary 31 that passes between the first support vector and the second support vector.
- the region where the determination boundary 31 is a straight line and the distance from the determination boundary 31 is m is set as the danger region 32.
- the distance m is the distance between the determination boundary 31 and the first support vector (second support vector).
- the detection unit 153 is a processing unit that executes the inspector model 35 and detects the accuracy deterioration of the machine learning model 50.
- the detection unit 153 inputs each training data of the training data set 141a into the inspector model 35.
- the distance (norm) between the determination boundary 31 on the feature space and the training data is output.
- the detection unit 153 determines that the training data is included in the danger region 32.
- the detection unit 153 repeatedly executes the above processing for each training data included in the training data set 141a.
- the detection unit 153 calculates the ratio of the training data included in the danger region 32 among all the training data as the “first ratio”.
- the detection unit 153 selects the operation data set stored in the operation data table 145, and inputs each operation data of the operation data set into the inspector model 35.
- the detection unit 153 inputs the operation data to the inspector model 35, the distance (norm) between the determination boundary 31 on the feature space and the operation data is output.
- the detection unit 153 determines that the operation data is included in the danger area 32.
- the detection unit 153 repeatedly executes the above processing for each operation data included in the operation data set.
- the detection unit 153 calculates the ratio of the operation data included in the danger area 32 to the total operation data as the “second ratio”.
- the detection unit 153 compares the first ratio with the second ratio, determines that concept drift has occurred when the second ratio changes with respect to the first ratio, and determines that the accuracy of the machine learning model 50 has deteriorated. To detect. For example, the detection unit 153 determines that concept drift has occurred when the difference between the absolute values of the first ratio and the second ratio is equal to or greater than the threshold value.
- FIG. 18 and 19 are diagrams for explaining the processing of the detection unit according to the first embodiment.
- FIG. 18 shows an example of the first ratio.
- the detection unit 153 shows a case where each training data of the training data set 141a is input to the inspector model 35 and the first ratio is “0.02”.
- FIG. 19 shows an example of the second ratio.
- the second ratio becomes "0.02". Since the first ratio and the second ratio of the operational data set C0 are the same, no concept drift has occurred in the operational data set C0. Therefore, the detection unit 153 does not detect the accuracy deterioration of the machine learning model 50 for the operation data set C0.
- the detection unit 153 detects the accuracy deterioration of the machine learning model 50 for the operation data set C1.
- the detection unit 153 detects the accuracy deterioration of the machine learning model 50 for the operation data set C2.
- the detection unit 153 detects the accuracy deterioration of the machine learning model 50 for the operation data set C3.
- the detection unit 153 may display information to the effect that the accuracy deterioration has been detected on the display unit 130, or the accuracy deterioration on an external device (not shown). May be notified to the effect that has been detected.
- the detection unit 153 may output the data identification information of the operation data set, which is the basis for detecting the accuracy deterioration, to the display unit 130 for display. Further, the detection unit 153 may notify the learning unit 151 that the accuracy deterioration has been detected, and relearn the machine learning model data 142. In this case, the learning unit 151 relearns the machine learning model 50 using the newly designated training data set.
- the detection unit 153 When the detection unit 153 does not detect the accuracy deterioration of the machine learning model 50, the detection unit 153 outputs information to the effect that the accuracy deterioration is not detected to the prediction unit 154.
- the prediction unit 154 is a processing unit that executes the machine learning model 50, inputs an operation data set, and predicts the classification class of each operation data when the accuracy deterioration of the machine learning model 50 is not detected.
- the prediction unit 154 may output the prediction result to the display unit 130 and display it, or may transmit it to an external device.
- FIG. 20 is a flowchart showing a processing procedure of the information processing apparatus according to the first embodiment.
- the learning unit 151 of the information processing apparatus 100 learns the machine learning model 50 based on the training data set 141a (step S101).
- the creation unit 152 of the information processing apparatus 100 uses knowledge distillation to generate a distillation data table 143 (step S102).
- the creation unit 152 generates an inspector model based on the distillation data table 143 (step S103).
- the detection unit 153 of the information processing device 100 inputs each training data of the training data set 141a into the inspector model and calculates the first ratio (step S104).
- the information processing apparatus 100 inputs each operational data of the operational data set into the inspector model and calculates the second ratio (step S105).
- the detection unit 153 of the information processing device 100 determines whether or not concept drift has occurred based on the first ratio and the second ratio (step S106). When the concept drift occurs (step S107, Yes), the information processing apparatus 100 shifts to step S108. On the other hand, when the concept drift does not occur (steps S107, No), the information processing apparatus 100 shifts to step S109.
- step S108 The processing after step S108 will be described.
- the learning unit 151 relearns the machine learning model 50 with the new training data set (step S108), and shifts to step S102.
- the prediction unit 154 of the information processing apparatus 100 inputs the operation data set into the machine learning model and predicts the classification class of each operation data (step S109).
- the prediction unit 154 outputs the prediction result (step S110).
- the information processing apparatus 100 generates a machine learning model 50 based on the training data set 141a, and creates an inspector model using knowledge distillation.
- the information processing device 100 calculates the first ratio when the training data set is input to the inspector model and the second ratio when the operation data set is input, and based on the first ratio and the second ratio. , The accuracy deterioration of the machine learning model 50 is detected. As a result, it is possible to detect the deterioration of the accuracy of the machine learning model.
- the information processing device 100 compares the first ratio with the second ratio, and detects a deterioration in the accuracy of the machine learning model when the second ratio increases or decreases.
- the change in the second ratio based on the first ratio indicates that more operational data is included in the danger zone and concept drift is occurring compared to when the operation started.
- the information processing apparatus 100 acquires an operation data set over time and repeatedly executes the above processing. As a result, it is possible to create an inspector model that can be used for general purposes regardless of the classification algorithm and detect the deterioration of the accuracy of the machine learning model.
- the information processing apparatus 100 in order to construct an inspector model (kernel SVM) by knowledge distillation using the machine learning model 50, the information processing apparatus 100 according to the first embodiment is as described with reference to FIGS. 7 to 9. Even with the classification algorithm, it is possible to create a general-purpose inspector model.
- kernel SVM kernel SVM
- the information processing apparatus detects the deterioration of the accuracy of the machine learning model to be monitored by performing one-to-other distillation for each of three or more classification classes.
- the information processing device identifies which classification class is affected when the accuracy deterioration is detected.
- FIG. 21 is a diagram for explaining the processing of the information processing apparatus according to the second embodiment.
- the first training data set 40A corresponding to the first class, the second training data set 40B corresponding to the second class, and the third training data set 40C corresponding to the third class are used. explain.
- a plurality of first training data included in the first training data set 40A are indicated by crosses.
- a plurality of second training data included in the second training data set 40B are indicated by triangle marks.
- a plurality of third training data included in the third training data set 40C are indicated by circles.
- the information processing apparatus creates an inspector model M1 that has learned the determination boundary 41A between the "first training data set 40A" and the "second training data set 40B and the second training data set 40B” using knowledge distillation. ..
- a danger zone 42A around the decision boundary 41A is set.
- the information processing apparatus creates an inspector model M2 that has learned the determination boundary 41B between the "second training data set 40B" and the "first training data set 40A and the third training data set 40C” using knowledge distillation. ..
- the inspector model M1 the danger zone 42B around the decision boundary 41B is set.
- the information processing apparatus creates an inspector model M3 that has learned the determination boundary 41C between the "third training data set 40C" and the "first training data set 40A and the second training data set 40B" using knowledge distillation. .. In the inspector model M3, the danger zone 42C around the decision boundary 41C is set.
- the information processing device calculates the first ratio and the second ratio for each of the inspector models M1, M2, and M3.
- the first ratio calculated using the inspector model M1 is referred to as “ratio M1-1”
- the second ratio calculated using the inspector model M1 is referred to as “ratio M1-2”.
- the first ratio calculated using the inspector model M2 is referred to as "ratio M2-1”
- the second ratio calculated using the inspector model M2 is referred to as "ratio M2-2”.
- the first ratio calculated using the inspector model M3 is referred to as "ratio M3-1”
- the second ratio calculated using the inspector model M3 is referred to as "ratio M3-2".
- the ratio M1-1 indicates the ratio of the training data included in the danger region 42A among all the training data when the first, second, and third training data sets are input to the inspector model M1.
- the ratio M1-2 indicates the ratio of the operation data included in the danger area 42A out of the total operation data when the operation data set is input to the inspector model M1.
- the ratio M2-1 indicates the ratio of the training data included in the danger region 42B among all the training data when the first, second, and third training data sets are input to the inspector model M2.
- the ratio M2-2 indicates the ratio of the operation data included in the danger area 42B among all the operation data when the operation data set is input to the inspector model M2.
- the ratio M3-1 indicates the ratio of the training data included in the danger region 42C among all the training data when the first, second, and third training data sets are input to the inspector model M3.
- the ratio M3-2 indicates the ratio of the operation data included in the danger area 42C out of the total operation data when the operation data set is input to the inspector model M3.
- the information processing device detects a deterioration in the accuracy of the machine learning model to be monitored when the difference between the first ratio and the second ratio (absolute value of the difference) exceeds the threshold value. Further, the information processing apparatus identifies the classification class that causes the deterioration of accuracy based on the set of the first ratio and the second ratio having the largest difference. It is assumed that the threshold value is set in advance. In the description of FIG. 21, the threshold value is set to "0.1".
- the information processing apparatus determines that the first class is the cause of the deterioration of accuracy.
- the second class determines that the cause is the deterioration of accuracy.
- the information processing apparatus determines that the third class is the cause of the deterioration of accuracy.
- the information processing apparatus detects the concept drift of the operational data set and determines the cause of the accuracy deterioration as the first class.
- the information processing apparatus detects the deterioration of the accuracy of the machine learning model to be monitored by performing one-to-other distillation for each of three or more classification classes. ..
- the information processing device detects a deterioration in accuracy, it is possible to identify which classification class is affected by comparing the first ratio and the second ratio of the inspector models M1 to M3. it can.
- FIG. 22 is a functional block diagram showing the configuration of the information processing apparatus according to the second embodiment.
- the information processing device 200 includes a communication unit 210, an input unit 220, a display unit 230, a storage unit 240, and a control unit 250.
- the communication unit 210 is a processing unit that executes data communication with an external device (not shown) via a network.
- the communication unit 210 is an example of a communication device.
- the control unit 250 which will be described later, exchanges data with an external device via the communication unit 110.
- the input unit 220 is an input device for inputting various information to the information processing device 200.
- the input unit 220 corresponds to a keyboard, a mouse, a touch panel, and the like.
- the display unit 230 is a display device that displays information output from the control unit 250.
- the display unit 230 corresponds to a liquid crystal display, an organic EL display, a touch panel, and the like.
- the storage unit 240 has a teacher data 241 and a machine learning model data 242, a distillation data table 243, an inspector model table 244, and an operation data table 245.
- the storage unit 140 corresponds to a semiconductor memory element such as a RAM or a flash memory, or a storage device such as an HDD.
- the teacher data 241 has a training data set 241a and verification data 241b.
- the training data set 241a holds various information about the training data.
- FIG. 23 is a diagram showing an example of the data structure of the training data set according to the second embodiment.
- this training data set associates record numbers with training data with correct labels.
- 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 label is information that uniquely identifies the first class or the second class. In the second embodiment, any one of the first class, the second class, and the third class is associated with the training data as the correct answer label.
- the verification data 241b is data for verifying the machine learning model trained by the training data set 241a. Other explanations regarding the verification data 241b are the same as those of the verification data 141b described in the first embodiment.
- the machine learning model data 242 is the data of the machine learning model.
- the machine learning model is a machine learning model that classifies input data into a first class, a second class, or a third class by a predetermined classification algorithm.
- the classification algorithm may be any of NN, random forest, k-nearest neighbor method, support vector machine, and the like.
- FIG. 24 is a diagram for explaining an example of the machine learning model according to the second embodiment.
- the machine learning model 55 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 "parameters”.
- the input layer 50a and the hidden layer 50b are the same as the machine learning model 50 described with reference to FIG.
- the probabilities of each class are output from the nodes 51a, 51b, 51c of the output layer 50c.
- the probability of the first class is output from the node 51a.
- the probability of the second class is output from the node 51b.
- the probability of the third class is output from the node 51c.
- the distillation data table 243 is a table that stores the output result when each data of the data set is input to the machine learning model 55.
- the data structure of the distillation data table is the same as the data structure of the distillation data table 143 described in Example 1.
- the soft target included in the distillation data table 243 indicates any of the first class, the second class, and the third class.
- the inspector model table 244 is a table that stores the data of the inspector models M1, M2, and M3 constructed by kSVM. When data is input to each inspector model M1, M2, M3, a signed distance value is output.
- the input data is classified into the first class. If the sign is negative, the data is classified as a second class or a third class.
- the input data is classified into the second class. If the sign is negative, the data is classified as first class or third class.
- the input data is classified into the third class. If the sign is negative, the data is classified as first class or second class.
- the operational data table 245 has an operational data set that is added over time.
- the data structure of the operation data table 245 is the same as the data structure of the operation data table 145 described in the first embodiment.
- the control unit 250 includes a learning unit 251, a creation unit 252, a detection unit 253, and a prediction unit 254.
- the control unit 250 can be realized by a CPU, an MPU, or the like.
- the control unit 250 can also be realized by hard-wired logic such as ASIC or FPGA.
- the learning unit 251 is a processing unit that acquires the training data set 241a and learns the parameters of the machine learning model 55 based on the training data set 241a. For example, when the training unit 251 inputs the training data of the training data set 241a to the input layer of the machine learning model 55, the output result of each node of the output layer approaches the correct answer label of the input training data. The parameters of the machine learning model 55 are updated (training by the error back propagation method). The learning unit 251 repeatedly executes the above processing for each training data included in the training data set 241a. Further, the learning unit 251 may verify the machine learning model 55 by using the verification data 241b. The learning unit 251 registers the learned machine learning model 55 data (machine learning model data 242) in the storage unit 240.
- the machine learning model 55 is an example of an “operating model”.
- FIG. 25 is a diagram for explaining the determination boundary of the feature space according to the second embodiment.
- the feature space 30 is a visualization of each training data of the training data set 241a.
- the horizontal axis of the feature space 30 corresponds to the axis of the first feature amount
- the vertical axis corresponds to the axis of the second feature amount.
- each training data is shown on two axes, but the training data is assumed to be multidimensional data.
- the correct label corresponding to the training data marked with x is "first class”
- the correct label corresponding to the training data marked with triangle is "second class”
- the correct label corresponding to the training data marked with circle is "class 1".
- the feature space 30 is classified into a model application area 36A, a model application area 36B, and a model application area 36C by the determination boundary 36.
- the machine learning model 55 is NN
- the probability of the first class, the probability of the second class, and the probability of the third class are output, respectively. If the probability of the first class is higher than the other classes, the data is classified into the first class. If the probability of the second class is higher than the other classes, the data is classified into the second class. If the probability of the third class is higher than the other classes, the data is classified into the third class.
- the creation unit 252 is a processing unit that creates inspector models M1, M2, and M3 based on the knowledge distillation of the machine learning model 55. For example, the creation unit 252 creates an inspector model M1 that has learned the determination boundaries (corresponding to the determination boundaries 41A in FIG. 21) between the “model application area 36A” and the “model application areas 36B and 36C”. When data (training data or operational data) is input to the inspector model M1, the distance (signed distance value) between the determination boundary 41A and the data is output.
- the creation unit 252 creates an inspector model M2 that has learned the determination boundary (corresponding to the determination boundary 41B in FIG. 21) between the "model application area 36B" and the "model application areas 36A and 36C".
- data training data or operational data
- the distance signed distance value
- the creation unit 252 creates an inspector model M3 that has learned the determination boundary (corresponding to the determination boundary 41C in FIG. 21) between the “model application area 36C” and the “model application areas 36A and 36B”.
- data training data or operational data
- the distance signed distance value
- FIG. 26 is a diagram showing an example of the determination boundary and the danger zone of the inspector model.
- the decision boundary and the danger zone 42B of the inspector model M2 are shown.
- the illustration of the decision boundary and the danger zone according to the inspector models M1 and M3 is omitted.
- the creation unit 252 executes a process of generating the distillation data table 243 and a process of creating the inspector model table 244.
- the preparation unit 252 will explain the process of generating the distillation data table 243.
- the creation unit 252 executes the machine learning model 55 using the machine learning model data 242, and inputs each data on the feature space into the machine learning model 55. Thereby, it is specified which of the first class, the second class, and the third class the data in the feature space is classified into.
- the creation unit 252 classifies the feature space into the model application area 36A, the model application area 36B, and the model application area 36C, and specifies the determination boundary 36.
- the creation unit 252 arranges a "grid" on the feature space 30. It is assumed that the width of the grid is set in advance.
- the creation unit 252 selects the data of the intersection coordinates of the grid and outputs the selected data to the machine learning model 55 to calculate the soft target corresponding to the selected data.
- the creation unit 252 associates the selected data (input data) with the soft target and registers it in the distillation data table 243.
- the creation unit 252 also generates the distillation data table 243 by repeatedly executing the above processing for the data of the coordinates of each intersection of the grid.
- the creation unit 252 will explain the process of creating the inspector model table 244.
- the creation unit 252 creates inspector models M1 to M3 constructed by kSVM based on the relationship between the input data registered in the distillation data table 243 and the soft target.
- the creation unit 252 registers the created data of the inspector models M1 to M3 in the inspector model table 244.
- the creation unit 252 projects each input data stored in the distillation data table 243 into the reproducing kernel Hilbert space.
- the creation unit 252 selects the input data closest to the determination boundary 41A among the input data of the first class included in the reproducing kernel Hilbert space as the first support vector.
- the creation unit 152 selects the input data closest to the determination boundary 41A among the input data of the second class or the third class included in the reproducing kernel Hilbert space as the second support vector.
- the creation unit 252 specifies the hyperparameters of the inspector model M1 by specifying the determination boundary 41A passing between the first support vector and the second support vector.
- decision boundary 41A becomes straight, the distance from the decision boundary 41A is a region to be a m M1, sets the hazardous area 42A.
- the distance m M1 is the distance between the determination boundary 41A and the first support vector (second support vector).
- the creation unit 252 projects each input data stored in the distillation data table 243 into the reproducing kernel Hilbert space.
- the creation unit 252 selects the input data closest to the determination boundary 41B among the input data of the second class included in the reproducing kernel Hilbert space as the third support vector.
- the creation unit 252 selects the input data closest to the determination boundary 41B among the input data of the first class or the third class included in the reproducing kernel Hilbert space as the fourth support vector.
- the creation unit 252 specifies the hyperparameters of the inspector model M2 by specifying the determination boundary 41B passing between the third support vector and the fourth support vector.
- decision boundary 41B becomes linear, the distance from the decision boundary 41B is a region in which the m M2, set the hazardous area 42B.
- the distance m M2 is the distance between the determination boundary 41B and the third support vector (fourth support vector).
- the creation unit 252 projects each input data stored in the distillation data table 243 into the reproducing kernel Hilbert space.
- the creation unit 252 selects the input data closest to the determination boundary 41C among the input data of the third class included in the reproducing kernel Hilbert space as the fifth support vector.
- the creation unit 252 selects the input data closest to the determination boundary 41C among the input data of the first class or the second class included in the reproducing kernel Hilbert space as the sixth support vector.
- the creation unit 252 specifies the hyperparameters of the inspector model M3 by specifying the determination boundary 41C passing between the fifth support vector and the sixth support vector.
- decision boundary 41C becomes linear, the distance from the decision boundary 41C is a region to be a m M3, set the hazardous area 42C.
- the distance m M3 is the distance between the determination boundary 41C and the fifth support vector (sixth support vector).
- the detection unit 253 is a processing unit that executes the inspector models M1 to M3 and detects the accuracy deterioration of the machine learning model 55. Further, when the detection unit 253 detects the accuracy deterioration of the machine learning model 55, the detection unit 253 identifies a classification class that causes the accuracy deterioration.
- the detection unit 253 calculates each first ratio (ratio M1-1, ratio M2-1, ratio M3-1) by inputting the training data sets 241a into the inspector models M1 to M3, respectively.
- the detection unit 253 When the detection unit 253 inputs the training data into the inspector model M1, the distance between the determination boundary 41A on the feature space and the training data is output. Detector 253 determines the distance between the decision boundary 41A and training data is less than the distance m M1, such training data is contained in the hazardous area 42A. The detection unit 253 repeatedly executes the above processing for each training data, specifies the number of training data included in the danger region 42A among all the training data, and calculates the ratio M1-1.
- the detection unit 253 When the detection unit 253 inputs the training data into the inspector model M2, the detection unit 253 outputs the distance between the determination boundary 41B on the feature space and the training data. Detector 253 determines the distance between the decision boundary 41B and training data is less than the distance m M2, such training data is contained in the hazardous area 42B. The detection unit 253 repeatedly executes the above processing for each training data, identifies the number of training data included in the danger region 42B among all the training data, and calculates the ratio M2-1.
- the detection unit 253 When the detection unit 253 inputs the training data into the inspector model M3, the detection unit 253 outputs the distance between the determination boundary 41C on the feature space and the training data. Detector 253 determines the distance between the decision boundary 41C and training data is less than the distance m M3, such training data is contained in the hazardous area 42C. The detection unit 253 repeatedly executes the above processing for each training data, specifies the number of training data included in the danger region 42C among all the training data, and calculates the ratio M3-1.
- the detection unit 253 calculates each second ratio (ratio M1-2, ratio M2-2, ratio M3-2) by inputting operational data sets into the inspector models M1 to M3, respectively.
- the detection unit 253 When the detection unit 253 inputs the operation data to the inspector model M1, the distance between the determination boundary 41A on the feature space and the operation data is output. Detector 253 determines the distance between the decision boundary 41A and training data is less than the distance m M1, such operational data is included in the dangerous area 42A. The detection unit 253 repeatedly executes the above processing for each operation data, specifies the number of operation data included in the danger area 42A among all the operation data, and calculates the ratio M1-2.
- the detection unit 253 When the detection unit 253 inputs the operation data to the inspector model M2, the detection unit 253 outputs the distance between the determination boundary 41B on the feature space and the operation data. Detection unit 253 determines that the decision boundary 41B when the distance between the operation data is less than the distance m M2, with such operational data is included in the dangerous area 42B. The detection unit 253 repeatedly executes the above processing for each operation data, specifies the number of operation data included in the danger area 42B among all the operation data, and calculates the ratio M2-1.
- the detection unit 253 When the detection unit 253 inputs the operation data to the inspector model M3, the detection unit 253 outputs the distance between the determination boundary 41C on the feature space and the operation data. Detection unit 253 determines that the decision boundary 41C when the distance between the operation data is less than the distance m M3, and such operational data is included in the dangerous area 42C. The detection unit 253 repeatedly executes the above processing for each operation data, specifies the number of operation data included in the danger area 42C among all the operation data, and calculates the ratio M3-1.
- the detection unit 253 compares the corresponding first ratio and the second ratio, determines that concept drift has occurred when the second ratio changes with respect to the first ratio, and determines the accuracy of the machine learning model 55. Detect deterioration. For example, the detection unit 253 determines that concept drift has occurred when the absolute value of the difference between the first ratio and the second ratio is equal to or greater than the threshold value.
- the corresponding pairs of the first ratio and the second ratio are the ratio M1-1 and the ratio M1-2, the ratio M2-1 and the ratio M2-2, and the ratio M3-1 and the ratio M3. It is a pair with -2.
- the detection unit 253 determines that the class that causes the deterioration of accuracy is the "first class" when the absolute value of the difference between the ratio M1-1 and the ratio M1-2 is equal to or more than the threshold value.
- the detection unit 253 determines that the class that causes the deterioration of accuracy is the "second class”.
- the detection unit 253 determines that the class that causes the deterioration of accuracy is the "third class”.
- the detection unit 253 When the detection unit 253 detects the accuracy deterioration of the machine learning model 55 by the above processing, the detection unit 253 outputs to the display unit 230 the fact that the accuracy deterioration is detected and the information of the classification class that causes the accuracy deterioration. .. Further, the detection unit 253 may transmit the fact that the accuracy deterioration has been detected and the information of the classification class that causes the accuracy deterioration to the external device.
- the detection unit 253 When the detection unit 253 does not detect the accuracy deterioration of the machine learning model 55, the detection unit 253 outputs information to the effect that the accuracy deterioration is not detected to the prediction unit 254.
- the prediction unit 254 is a processing unit that executes the machine learning model 55, inputs an operation data set, and predicts the classification class of each operation data when the accuracy deterioration of the machine learning model 55 is not detected.
- the prediction unit 254 may output the prediction result to the display unit 230 and display it, or may transmit it to an external device.
- FIG. 27 is a flowchart showing a processing procedure of the information processing apparatus according to the second embodiment.
- the learning unit 251 of the information processing apparatus 200 learns the machine learning model 55 based on the training data set 241a (step S201).
- the creation unit 252 of the information processing apparatus 200 uses knowledge distillation to generate a distillation data table 243 (step S202).
- the creation unit 252 of the information processing apparatus 200 creates a plurality of inspector models M1 to M3 based on the distillation data table 243 (step S203).
- the detection unit 253 of the information processing device 200 inputs each training data of the training data set into the inspector models M1 to M3, and calculates each first ratio (ratio M1-1, ratio M2-1, ratio M3-1). (Step S204).
- the detection unit 253 inputs each operation data of the operation data set into the inspector models M1 to M3, and calculates each second ratio (ratio M1-2, ratio M2-2, ratio M3-2) (step S205). ..
- the detection unit 253 determines whether or not concept drift has occurred based on each first ratio and each second ratio (step S206). When the concept drift occurs (step S207, Yes), the information processing apparatus 200 proceeds to step S208. On the other hand, when the concept drift does not occur (steps S207 and No), the information processing apparatus 200 proceeds to step S209.
- step S208 The processing after step S208 will be described.
- the learning unit 251 relearns the machine learning model 55 with the new training data set (step S208), and proceeds to step S202.
- the prediction unit 254 of the information processing apparatus 200 inputs the operation data set into the machine learning model 55 and predicts the classification class of each operation data (step S209).
- the prediction unit 254 outputs the prediction result (step S210).
- the information processing apparatus 200 detects deterioration in accuracy of the machine learning model to be monitored by performing one-to-other distillation for each of three or more types of classification classes. Further, the information processing apparatus 200 can specify which classification class is affected when the deterioration in accuracy is detected.
- classification model for one pair of other classes (multiple inspector models M1 to M3), it is possible to identify in which direction the concept drifts, and which classification class is affected. Can be identified.
- the information processing apparatus determines whether or not concept drift (factor of accuracy deterioration) has occurred for each operation data included in the operation data set.
- concept drift factor of accuracy deterioration
- one piece of data (training data or operational data) included in the dataset will be referred to as an "instance”.
- FIG. 28 is a diagram for explaining the processing of the information processing apparatus according to the third embodiment.
- the information processing apparatus according to the third embodiment creates an inspector model by using knowledge distillation in the same manner as the information processing apparatus 100 of the first embodiment.
- the decision boundary learned by the inspector model is defined as the decision boundary 60.
- the information processing device detects the instance on the feature space as an instance that causes a deterioration in accuracy based on the distance between the determination boundary 60 and the instance.
- the certainty level is different for each instance included in the operation data set 61.
- the distance between the instance 61a and the determination boundary 60 is da.
- the distance between the instance 61b and the decision boundary 60 is db. Since the distance da is smaller than the distance db, the instance 61a can be a factor of accuracy deterioration more than the instance 61b.
- the distance between the decision boundary and the instance is a scalar value
- the size changes for each operational data set, so it is difficult to set a threshold value for specifying how far the distance from the decision boundary is dangerous. .. Therefore, the information processing device converts the distance from the determination boundary into a probability value, and treats the converted probability value as a certainty degree. As a result, the confidence level takes a value of "0 to 1" regardless of the operational data set.
- the information processing device calculates the degree of certainty based on the equation (2).
- the probability that a certain instance is the first class is shown.
- the feature amount of the instance is "x”
- the distance between the determination boundary and the instance is "f (x)”.
- "A” and "B” are hyperparameters learned from the training dataset.
- the information processing apparatus calculates the certainty of an instance of the operational data set based on the equation (2), and when the certainty is less than a preset threshold value, identifies such an instance as a factor of accuracy deterioration. ..
- the degree of certainty can be calculated in the range of "0 to 1" regardless of the operational data set, and the instance that causes the deterioration of accuracy is appropriately specified.
- the information processing apparatus may further execute the following processing to detect the deterioration of the accuracy of the machine learning model to be monitored.
- the information processing device inputs each training data of the training data set into the inspector model, calculates the distance between each training data and the determination boundary 60, and specifies the average value of each distance as the "first distance". To do.
- the information processing device inputs each operation data of the operation data set into the inspector model, calculates the distance between each operation data and the determination boundary 60, and specifies the average value of each distance as the "second distance". To do.
- the information processing device detects the deterioration of the accuracy of the machine learning model as if concept drift has occurred when the difference between the first distance and the second distance is equal to or greater than a preset threshold value.
- the information processing apparatus can identify the instance that causes the deterioration of accuracy by calculating the distance between the determination boundary 60 and the instance. Further, by using the first distance based on each instance of the training data set and the second distance based on each instance of the operation data set, it is possible to detect the deterioration of the accuracy of the machine learning model.
- FIG. 29 is a functional block diagram showing the configuration of the information processing apparatus according to the third embodiment.
- the information processing device 300 includes a communication unit 310, an input unit 320, a display unit 330, a storage unit 340, and a control unit 350.
- the communication unit 310 is a processing unit that executes data communication with an external device (not shown) via a network.
- the communication unit 310 is an example of a communication device.
- the control unit 350 which will be described later, exchanges data with an external device via the communication unit 310.
- the input unit 320 is an input device for inputting various information to the information processing device 300.
- the input unit 320 corresponds to a keyboard, a mouse, a touch panel, and the like.
- the display unit 330 is a display device that displays information output from the control unit 350.
- the display unit 330 corresponds to a liquid crystal display, an organic EL display, a touch panel, and the like.
- the storage unit 340 has teacher data 341, machine learning model data 342, distillation data table 343, inspector model data 344, and operation data table 345.
- the storage unit 340 corresponds to a semiconductor memory element such as a RAM or a flash memory, or a storage device such as an HDD.
- the teacher data 341 has a training data set 341a and verification data 341b.
- the training data set 341a holds various information about the training data.
- the description of the data structure of the training data set 341a is the same as the description of the data structure of the training data set 141a described in the first embodiment.
- the verification data 341b is data for verifying the machine learning model trained by the training data set 341a.
- the machine learning model data 342 is the data of the machine learning model.
- the description of the machine learning model data 342 is the same as the description of the machine learning model data 142 described in the first embodiment.
- the machine learning model to be monitored will be described as the machine learning model 50.
- the classification algorithm of the machine learning model may be any of NN, random forest, k-nearest neighbor method, support vector machine, and the like.
- the distillation data table 343 is a table that stores the output result (soft target) when each data of the data set is input to the machine learning model 50.
- the description of the data structure of the distillation data table 343 is the same as the description of the data structure of the distillation data table 143 described in Example 1.
- the inspector model data 344 is the data of the inspector model constructed by kSVM.
- the description of the inspector model data 344 is the same as the description of the inspector model data 144 described in the first embodiment.
- the operational data table 345 has an operational data set that is added over time.
- the description of the data structure of the operation data table 345 is the same as the description of the operation data table 145 described in the first embodiment.
- the control unit 350 has a learning unit 351, a creation unit 352, a detection unit 353, and a prediction unit 354.
- the control unit 350 can be realized by a CPU, an MPU, or the like.
- the control unit 350 can also be realized by hard-wired logic such as ASIC or FPGA.
- the learning unit 351 is a processing unit that acquires the training data set 341a and learns the parameters of the machine learning model 50 based on the training data set 341a.
- the description regarding the processing of the learning unit 351 is the same as the description regarding the processing of the learning unit 151 described in the first embodiment.
- the creation unit 352 is a processing unit that creates an inspector model by learning the determination boundary 31 between the model application region 31A and the model application region 31B based on the knowledge distillation of the machine learning model 50.
- the process of creating the inspector model by the creating unit 352 is the same as the process of creating the inspector model by the creating unit 152 described in the first embodiment.
- the creation unit 352 learns the hyperparameters A and B described in the equation (2) based on each training data and the correct answer label of the training data set 341a. For example, the creation unit 352 adjusts the hyperparameters A and B so that the value x of the training data corresponding to the correct label "first class" is approached to 1 when the feature amount x is input to the equation (2). .. The creation unit 352 adjusts the hyperparameters A and B so that the value x when the feature amount x of the training data corresponding to the correct answer label “second class” is input to the equation (2) approaches 0.
- the creation unit 352 learns hyperparameters A and B by repeatedly executing the above processing using each training data.
- the creation unit 352 outputs the learned data of the hyperparameters A and B to the detection unit 353.
- the detection unit 353 is a processing unit that detects an instance that causes a deterioration in the accuracy of the machine learning model 50.
- the detection unit 353 executes the inspector model 35.
- the detection unit 353 selects an instance (operation data) included in the operation data set, inputs the selected instance into the inspector model 35, and specifies the distance between the determination boundary 31 and the instance. Further, the detection unit 353 calculates the certainty of the selected instance by inputting the specified distance f (x) into the equation (2).
- the detection unit 353 detects the selected instance as an instance that causes deterioration in accuracy when the certainty is less than the threshold value.
- the detection unit 353 detects the operation data that causes the deterioration of accuracy by repeatedly executing the above processing for each operation data included in the operation data set.
- the detection unit 353 may output the data of each instance (operation data) that causes the deterioration of accuracy to the display unit 330 and display it, or may transmit it to an external device.
- the detection unit 353 may further execute the following processing to detect the deterioration of the accuracy of the machine learning model 50 to be monitored.
- the detection unit 353 inputs each training data of the training data set 341a into the inspector model 35, calculates the distance between each training data and the determination boundary 60, and sets the average value of each distance as the “first distance”. Identify as.
- the detection unit 353 selects an operation data set from the operation data table 345.
- the detection unit 353 inputs each operation data of the operation data set into the inspector model 35, calculates the distance between each operation data and the determination boundary 60, and sets the average value of each distance as the "second distance”. Identify.
- the detection unit 353 detects the deterioration of the accuracy of the machine learning model 50 as if concept drift has occurred.
- the detection unit 353 repeatedly executes the above processing for each operation data set added with the passage of time, and detects the deterioration of the accuracy of the machine learning model 50.
- the detection unit 353 When the detection unit 353 detects the accuracy deterioration of the machine learning model 50, the information indicating that the accuracy deterioration has been detected may be displayed on the display unit 330, or the accuracy deterioration may be displayed on the external device (not shown). May be notified to the effect that has been detected.
- the detection unit 353 may output the data identification information of the operation data set, which is the basis for detecting the accuracy deterioration, to the display unit 330 and display it. Further, the detection unit 353 may notify the learning unit 351 that the accuracy deterioration has been detected and relearn the machine learning model data 342.
- the prediction unit 354 is a processing unit that executes the machine learning model 50, inputs an operation data set, and predicts the classification class of each operation data when the accuracy deterioration of the machine learning model 50 is not detected.
- the prediction unit 354 may output the prediction result to the display unit 330 and display it, or may transmit it to an external device.
- FIG. 30 is a flowchart showing a processing procedure of the information processing apparatus according to the third embodiment.
- the learning unit 351 of the information processing apparatus 300 learns the machine learning model 50 based on the training data set 341a (step S301).
- the creation unit 352 of the information processing apparatus 300 uses knowledge distillation to generate a distillation data table 343 (step S302).
- the creation unit 352 creates an inspector model based on the distillation data table 343 (step S303).
- the creation unit 352 learns the hyperparameters A and B of the equation (2) using the training data set 341a (step S304).
- the detection unit 353 of the information processing device 300 selects an instance of the operation data set (step S305).
- the detection unit 353 inputs the selected instance into the inspector model and calculates the distance between the determination boundary and the instance (step S306).
- the detection unit 353 calculates the certainty of the instance (step S307).
- step S308, No If the certainty of the instance is not less than the threshold value (step S308, No), the detection unit 353 shifts to step S310. On the other hand, when the certainty of the instance is less than the threshold value (step S308, Yes), the detection unit 353 shifts to step S309.
- the detection unit 353 identifies the selected instance as a factor of accuracy deterioration (step S309). If all the instances are not selected (step S310, No), the information processing apparatus 300 proceeds to step S312. When all the instances are selected, the information processing apparatus 300 proceeds to step S311 (step S310, Yes). The detection unit 353 outputs an instance specified as a factor of accuracy deterioration (step S311).
- step S312 The processing after step S312 will be described.
- the detection unit 353 selects the next instance from the operation data set (step S312), and proceeds to step S306.
- the information processing apparatus 300 learns the inspector model using knowledge distillation and converts the distance between the instance on the feature space and the decision boundary 60 into a certainty. By converting to the certainty, the information processing apparatus 300 can detect an instance that causes a deterioration in accuracy regardless of the operation data set.
- the information processing apparatus 300 can also detect a deterioration in the accuracy of the machine learning model by using the first distance based on each instance of the training data set and the second distance based on each instance of the operation data set. it can.
- FIG. 31 is a diagram showing an example of a hardware configuration of a computer that realizes the same functions as the information processing apparatus according to the present embodiment.
- the computer 400 has a CPU 401 that executes various arithmetic processes, an input device 402 that receives data input from a user, and a display 403. Further, the computer 400 has a reading device 404 that reads a program or the like from a storage medium, and an interface device 405 that exchanges data with an external device or the like via a wired or wireless network.
- the computer 400 has a RAM 406 that temporarily stores various information and a hard disk device 407. Then, each device 401 to 407 is connected to the bus 408.
- the hard disk device 407 has a learning program 407a, a creation program 407b, a detection program 407c, and a prediction program 407d.
- the CPU 401 reads out the learning program 407a, the creation program 407b, the detection program 407c, and the prediction program 407d and deploys them in the RAM 406.
- the learning program 407a functions as a learning process 406a.
- the creation program 407b functions as the creation process 406b.
- the detection program 407c functions as the detection process 406c.
- the prediction program 407d functions as the prediction process 406d.
- the processing of the learning process 406a corresponds to the processing of the learning units 151, 251 and 351.
- the processing of the creation process 406b corresponds to the processing of the creation units 152, 252, 352.
- the processing of the detection process 406c corresponds to the processing of the detection units 153, 253, 353.
- the prediction process 406d corresponds to the processing of the prediction units 154, 254 and 354.
- each program 407a to 407d does not necessarily have to be stored in the hard disk device 407 from the beginning.
- each program is stored in a "portable physical medium" such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disk, or an IC card inserted into a computer 400. Then, the computer 400 may read and execute each of the programs 407a to 407d.
- a "portable physical medium” such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disk, or an IC card inserted into a computer 400.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
情報処理装置は、複数の訓練データを用いて、監視対象となる運用モデルを学習する。情報処理装置は、運用モデルの出力結果を基にして、データの特徴空間を複数の適用領域に分類する決定境界を学習すると共に、決定境界から運用データまでの距離を算出するインスペクターモデルを作成する。情報処理装置は、複数の訓練データが決定境界の付近に位置するか否かをインスペクターモデルにより算出し、全訓練データのうち、決定境界の付近に位置する訓練データの第一割合を取得する。情報処理装置は、複数の正解ラベルのうち、いずれかの正解ラベルに対応する複数の運用データが決定境界の付近に位置するか否かをインスペクターモデルにより算出し、全運用データのうち、決定境界の付近に位置する運用データの第二割合を取得する。情報処理装置は、第一割合と第二割合とを基にして、運用データの傾向の時間変化に起因する運用モデルの出力結果の変化を検出する。
Description
本発明は、検出方法等に関する。
近年、企業等で利用されている情報システムに対して、データの判定機能、分類機能等を有する機械学習モデルの導入が進んでいる。以下、情報システムを「システム」と表記する。機械学習モデルは、システム開発時に学習させた教師データの通りに判定、分類を行うため、システム運用中に入力データの傾向が変化すると、機械学習モデルの精度が劣化する。
図32は、入力データの傾向の変化による機械学習モデルの劣化を説明するための図である。ここで説明する機械学習モデルは、入力データを第1クラス、第2クラス、第3クラスのいずれかに分類するモデルであり、システム運用前に、教師データに基づき、予め学習されているものとする。教師データには、訓練データと、検証データとが含まれる。
図32において、分布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の案では、コンピュータが次の処理を実行する。コンピュータは、少なくとも3種類以上の正解ラベルのうち、いずれかの正解ラベルに対応する複数の訓練データを用いて、監視対象となる運用モデルを学習する。コンピュータは、運用モデルの出力結果を基にして、データの特徴空間を複数の適用領域に分類する決定境界を学習すると共に、決定境界から運用データまでの距離を算出するインスペクターモデルを作成する。コンピュータは、複数の訓練データが決定境界の付近に位置するか否かをインスペクターモデルにより算出し、全訓練データのうち、決定境界の付近に位置する訓練データの第一割合を取得する。コンピュータは、少なくとも3種類以上の正解ラベルのうち、いずれかの正解ラベルに対応する複数の運用データが決定境界の付近に位置するか否かをインスペクターモデルにより算出し、全運用データのうち、決定境界の付近に位置する運用データの第二割合を取得する。コンピュータは、第一割合と第二割合とを基にして、運用データの傾向の時間変化に起因する運用モデルの出力結果の変化を検出する。
機械学習モデルの精度劣化を検出することができる。
以下に、本願の開示する検出方法、検出プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
本実施例1の説明を行う前に、機械学習モデルの精度劣化を検知する参考技術について説明する。参考技術では、異なる条件でモデル適用領域を狭めた複数の監視器を用いて、機械学習モデルの精度劣化を検知する。以下の説明では、監視器を「インスペクターモデル」と表記する。
図1は、参考技術を説明するための図である。機械学習モデル10は、教師データを用いて機械学習した機械学習モデルである。参考技術では、機械学習モデル10の精度劣化を検知する。たとえば、教師データには、訓練データと、検証データとが含まれる。訓練データは、機械学習モデル10のパラメータを機械学習する場合に用いられるものであり、正解ラベルが対応付けられる。検証データは、機械学習モデル10を検証する場合に用いられるデータである。
インスペクターモデル11A,11B,11Cは、それぞれ異なる条件でモデル適用領域が狭められ、異なる決定境界を有する。参考技術では、訓練データに何らかの改変を加え、改変を加えた訓練データを用いて、インスペクターモデル11A~11Cを作成している。
インスペクターモデル11A~11Cは、それぞれ決定境界が異なるため、同一の入力データを入力しても、出力結果が異なる場合がある。参考技術では、インスペクターモデル11A~11Cの出力結果の違いを基にして、機械学習モデル10の精度劣化を検知する。図1に示す例では、インスペクターモデル11A~11Cを示すが、他のインスペクターモデルを用いて、精度劣化を検知してもよい。インスペクターモデル11A~11CにはDNN(Deep Neural Network)を利用する。
参考技術では、インスペクターモデル11A~11Cの出力結果が全て同じである場合に、機械学習モデル10の精度が劣化していないと判定する。一方、参考技術では、インスペクターモデル11A~11Cの出力結果が異なる場合に、機械学習モデル10の精度劣化を検知する。
図2は、精度劣化予測の一例を示す図である。図2のグラフの縦軸は、精度に対応する軸であり、横軸は時刻に対応する軸である。図2に示すように、時間経過に伴って、精度が低下しており、時刻t1において、精度の許容限界を下回る。たとえば、参考技術では、時刻t1において、精度劣化(許容限界を下回ったこと)を検知する。
時間経過に伴う入力データの分布(特徴量)の変化をコンセプトドリフトと呼ぶ。図3は、コンセプトドリフトの一例を示す図である。図3の縦軸は、第1の特徴量に対応する軸であり、横軸は、第2の特徴量に対応する軸である。たとえば、機械学習モデル10の運用開始時において、第1クラスに対応する第1データの分布を分布A1とし、第2クラスに対応する第2データの分布を分布Bとする。
時間経過に伴って、第1データの分布A1が、分布A2に変化する場合がある。オリジナルの機械学習モデル10は、第1データの分布を、分布A1として学習を行っているため、時間経過に伴って精度が下がり、再学習が必要となる。
コンセプトドリフトが発生するデータには、スパムメール、電気需要予測、株価予測、ポーカーハンドの戦略手順、画像等が含まれる。たとえば、画像は、季節や時間帯によって、同一の被写体であっても、画像の特徴量が異なる。
ここで、上述した参考技術では、機械学習モデル10の精度劣化を検知するために、複数のインスペクターモデル11A~11Cを作成している。そして、複数のインスペクターモデル11A~11Cを作成するためには、機械学習モデル10や、機械学習モデル10の学習時に用いた、訓練データに何らかの改変を加えることができるという条件が必須である。たとえば、機械学習モデル10が確信度を算出するモデルであること等、機械学習モデル10が特定の学習モデルであることが求められる。
そうすると、機械学習モデル10の精度劣化を検知する手法が、機械学習モデルに依存してしまう。機械学習モデルの分類アルゴリズムには、NN(Neural Network)、決定木、k近傍法、サポートベクターマシン等様々な分類アルゴリズムが該当するため、分類アルゴリズム毎に、どの検知手法が精度劣化の検知に適する手法であるかを試行錯誤する必要がある。
すなわち、どのような分類アルゴリズムであっても、汎用的に使用可能なインスペクターモデルを作成し、機械学習モデル10の精度劣化を検知することが望ましい。
図4は、インスペクターモデルの基本的な仕組みを説明するための図である。たとえば、インスペクターモデルは、第1クラスに属する訓練データの分布A1と、第2クラスに属する訓練データの分布Bとの境界となる決定境界5を学習することで、作成される。時間経過に伴う、運用データに対する機械学習モデル10の精度劣化を検出するためには、決定境界5の危険領域5aを監視し、危険領域5aに含まれる運用データの数が増加(または減少)したか否かを特定し、運用データの数が増加(または減少)した場合に、精度劣化を検出する。
以下の説明において、訓練データは、監視対象となる機械学習モデルを学習する場合に用いるデータである。運用データは、機械学習モデルを用いて、各分類クラスに分類するデータであり、運用開始時からの時間経過に応じて特徴量が変化するものとする。
本実施例1に係る情報処理装置は、知識蒸留(KD:Knowledge Distiller)を用いて、決定境界5の危険領域5aに含まれる運用データの数の増減を算出し、機械学習モデルの精度劣化を検出する。
図5は、知識蒸留を説明するための図である。知識蒸留では、Teacherモデル7Aの出力値を模倣するような、Studentモデル7Bを構築する。たとえば、訓練データ6が与えられ、訓練データ6には正解ラベル「犬」が付与されているものとする。説明の便宜上、Teacherモデル7AおよびStudentモデル7BをNNとするが、これに限定されるものではない。
情報処理装置は、訓練データ6を入力した際のTeacherモデル7Aの出力結果が、正解ラベル「犬」に近づくように、Teacherモデル7Aのパラメータを学習(誤差逆伝播法による学習)する。また、情報処理装置は、訓練データ6を入力した際のStudentモデル7Bの出力結果が、訓練データ6を入力した際のTeacherモデル7Aの出力結果に近づくように、Studentモデル7Bのパラメータを学習する。Teacherモデル7Aの出力を「ソフトターゲット(Soft Target)」と呼ぶ。訓練データの正解ラベルを「ハードターゲット(Hard Target)」と呼ぶ。
上記のように、Teacherモデル7Aに関する学習を、訓練データ6とハードターゲットとを用いて学習し、Studentモデル7Bに関する学習を、訓練データ6とソフトターゲットとを用いて学習する手法を、知識蒸留と呼ぶ。情報処理装置は、他の訓練データについても同様にして、Teacherモデル7AおよびStudentモデル7Bを学習する。
ここで、データ空間を入力としたソフトターゲットで、Studentモデル7Bの学習を考える。Teacherモデル7Aと、Studentモデル7Bとを異なるモデルで構築すれば、Studentモデル7Bの出力結果は、Teacherモデル7Aの出力結果の決定境界に類似するように学習される。そうすると、Teacherモデル7Aを監視対象の機械学習モデル、Studentモデル7Bをインスペクターモデルとして扱うことが可能となる。Teacherモデル7Aのモデルアーキテクチャを絞らないことで、汎用的に使用可能なインスペクターモデルを作成することができる。
図6は、決定境界周辺の危険領域の算出手法を説明するための図である。本実施例1に係る情報処理装置は、特徴量空間の決定境界5が直線になるような高次元空間(再生核ヒルベルト空間)Hkにデータ(ソフトターゲット)を射影して、危険領域5aを算出する。たとえば、データ8を入力した場合に、高次元空間Hkの決定境界5と、データ8との距離(符号付きの距離)m8を算出するインスペクターモデルを構築する。危険領域5aの幅を幅mとし、距離m8がm未満である場合には、データ8は、危険領域5aに含まれることを意味する。距離(ノルム)の計算は、再生核ヒルベルト空間の内積によって計算され、カーネルトリックに対応する。距離(ノルム)は、式(1)によって定義される。
情報処理装置は、インスペクターモデルを、Hard-Margin RBF(Radial Basis Function)カーネルSVM(Support Vector Machine)によって構築する。情報処理装置は、再生核ヒルベルト空間に、決定境界5が直線になるようにデータ空間を射影する。危険領域5aの幅mは、精度劣化に関する検知の感度であり、決定境界5付近のデータ密度で決定される。
たとえば、情報処理装置は、ソフトターゲットの領域を領域Xおよび領域Yに分類する。情報処理装置は、領域Xおよび領域Yを、再生核ヒルベルト空間に射影し、決定境界5側に一番近いサポートベクトルXa、Yaを特定する。情報処理装置は、サポートベクトルXaおよび決定境界5のマージンと、サポートベクトルYaおよび決定境界5のマージンとの差が最小となるように、決定境界5を特定する。つまり、情報処理装置は、監視した機械学習モデルの決定境界5との乖離を損失として学習しながら、ユークリッド空間上の決定境界付近の空間をねじ曲げることに相当する処理を実行する。
ここで、本実施例1に係る情報処理装置が、上記処理によって作成したインスペクターモデルを用いて、監視対象の機械学習モデルの精度劣化を検知する処理の一例について説明する。なお、機械学習モデルは、複数の訓練データによって、学習済みとする。以下の説明では、複数の訓練データを「訓練データセット」と表記する。
情報処理装置は、訓練データセットに含まれる各訓練データを、インスペクターモデルに入力し、全訓練データのうち、危険領域5aに含まれる訓練データの割合を算出しておく。以下の説明において、全訓練データのうち、危険領域5aに含まれる訓練データの割合を「第一割合」と表記する。
情報処理装置は、機械学習モデルの運用開始時から時間経過した後に、運用データセットを取得する。運用データセットには、複数の運用データが含まれる。情報処理装置は、運用データセットに含まれる各運用データを、インスペクターモデルに入力し、全運用データのうち、危険領域5aに含まれる運用データの割合を算出する。以下の説明において、全運用データのうち、危険領域5aに含まれる訓練データの割合を「第二割合」と表記する。
情報処理装置は、第一割合と第二割合とを比較して、第二割合が増加または減少した場合、機械学習モデルの精度劣化を検知する。第一割合を基準として、第二割合が変化したということは、運用開始時と比較して、多くの運用データが、危険領域5aに含まれており、コンセプトドリフトが発生していることを示す。情報処理装置は、時間経過に伴って、運用データセットを取得し、上記処理を繰り返し実行する。これによって、どのような分類アルゴリズムであっても、汎用的に使用可能なインスペクターモデルを作成し、機械学習モデルの精度劣化を検知することができる。
次に、同一の訓練データセットを複数種類の機械学習モデルにそれぞれ入力した場合の決定境界の性質について説明する。図7は、各機械学習モデルの決定境界の性質を示す図である。図7に示す例では、訓練データセット15を用いて、サポートベクターマシン(Soft-Margin SVM)、ランダムフォレスト(Ramdom Forest)、NNをそれぞれ学習する。
そうすると、学習したサポートベクターマシンにデータセットを入力した場合の分布は、分布20Aとなり、各データは、決定境界21Aで第1クラス、第2クラスに分類される。学習したランダムフォレストにデータセットを入力した場合の分布は、分布20Bとなり、各データは、決定境界21Bで第1クラス、第2クラスに分類される。学習したNNにデータセットを入力した場合の分布は、分布20Cとなり、各データは、決定境界21Cで第1クラス、第2クラスに分類される。
図7に示すように、同一の訓練データセット15で学習を行った場合でも、機械学習モデルの種類によっては、決定境界の性質が違うことがわかる。
続いて、各機械学習モデルを用いた知識蒸留によって、インスペクターモデルを作成した場合の決定境界の一例について説明する。説明の便宜上、機械学習モデル(サポートベクターマシン)を用いた知識蒸留によって作成したインスペクターモデルを、第1インスペクターモデルと表記する。機械学習モデル(ランダムフォレスト)を用いた知識蒸留によって作成したインスペクターモデルを、第2インスペクターモデルと表記する。機械学習モデル(NN)を用いた知識蒸留によって作成したインスペクターモデルを、第3インスペクターモデルと表記する。
図8は、各インスペクターモデルの決定境界を可視化した結果を示す図である。情報処理装置は、分布20Aを基にして、第1インスペクターモデルを作成すると、第1インスペクターモデルの分布は、22Aに示すものとなり、決定境界は、決定境界23Aとなる。
情報処理装置は、分布20Bを基にして、第2インスペクターモデルを作成すると、第2インスペクターモデルの分布は、22Bに示すものとなり、決定境界は、決定境界23Bとなる。情報処理装置は、分布20Cを基にして、第3インスペクターモデルを作成すると、第3インスペクターモデルの分布は、22Cに示すものとなり、決定境界は、決定境界23Cとなる。
図9は、各インスペクターモデルによる危険領域を可視化した図である。第1インスペクターモデルの決定境界23Aを基にした危険領域は、危険領域24Aとなる。第2インスペクターモデルの決定境界23Bを基にした危険領域は、危険領域24Bとなる。第3インスペクターモデルの決定境界23Cを基にした危険領域は、危険領域24Cとなる。
次に、本実施例1に係る情報処理装置の構成について説明する。図10は、本実施例1に係る情報処理装置の構成を示す機能ブロック図である。図10に示すように、情報処理装置100は、通信部110と、入力部120と、表示部130と、記憶部140と、制御部150とを有する。
通信部110は、ネットワークを介して、外部装置(図示略)とデータ通信を実行する処理部である。通信部110は、通信装置の一例である。後述する制御部150は、通信部110を介して、外部装置とデータをやり取りする。
入力部120は、情報処理装置100に対して各種の情報を入力するための入力装置である。入力部120は、キーボードやマウス、タッチパネル等に対応する。
表示部130は、制御部150から出力される情報を表示する表示装置である。表示部130は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、タッチパネル等に対応する。
記憶部140は、教師データ141、機械学習モデルデータ142、蒸留データテーブル143、インスペクターモデルデータ144、運用データテーブル145を有する。記憶部140は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
教師データ141は、訓練データセット141aと、検証データ141bを有する。訓練データセット141aは、訓練データに関する各種の情報を保持する。
図11は、本実施例1に係る訓練データセットのデータ構造の一例を示す図である。図11に示すように、この訓練データセットは、レコード番号と、訓練データと、正解ラベルとを対応付ける。レコード番号は、訓練データと、正解ラベルとの組を識別する番号である。訓練データは、メールスパムのデータ、電気需要予測、株価予測、ポーカーハンドのデータ、画像データ等に対応する。正解ラベルは、第1クラスまたは第2クラスを一意に識別する情報である。
検証データ141bは、訓練データセット141aによって学習された機械学習モデルを検証するためのデータである。検証データ141bは、正解ラベルが付与される。たとえば、検証データ141bを、機械学習モデルに入力した場合に、機械学習モデルから出力される出力結果が、検証データ141bに付与される正解ラベルに一致する場合、訓練データセット141aによって、機械学習モデルが適切に学習されたことを意味する。
機械学習モデルデータ142は、機械学習モデルのデータである。本実施例1に機械学習モデルは、所定の分類アルゴリズムによって、入力データを、第1クラスまたは第2クラスに分類する機械学習モデルである。分類アルゴリズムは、NN、ランダムフォレスト、k近傍法、サポートベクターマシン等のうち、いずれの分類アルゴリズムであってもよい。
ここでは一例として、機械学習モデルを、NNとして説明を行う。図12は、機械学習モデルの一例を説明するための図である。図12に示すように、機械学習モデル50は、ニューラルネットワークの構造を有し、入力層50a、隠れ層50b、出力層50cを持つ。入力層50a、隠れ層50b、出力層50cは、複数のノードがエッジで結ばれる構造となっている。隠れ層50b、出力層50cは、活性化関数と呼ばれる関数とバイアス値とを持ち、エッジは、重みを持つ。以下の説明では、バイアス値、重みを「パラメータ」と表記する。
入力層50aに含まれる各ノードに、データ(データの特徴量)を入力すると、隠れ層20bを通って、出力層20cのノード51a,51bから、各クラスの確率が出力される。たとえば、ノード51aから、第1クラスの確率が出力される。ノード51bから、第2クラスの確率が出力される。
蒸留データテーブル143は、データセットの各データを、機械学習モデル50に入力した場合の出力結果(ソフトターゲット)を格納するテーブルである。図13は、本実施例1に係る蒸留データテーブルのデータ構造の一例を示す図である。図13に示すように、この蒸留データテーブル143は、レコード番号と、入力データと、ソフトターゲットとを対応付ける。レコード番号は、入力データと、ソフトターゲットとの組を識別する番号である。入力データは、学習された機械学習モデル50の決定境界(決定境界を含む特徴空間)を基にして、作成部152に選択されるデータである。
ソフトターゲットは、入力データを学習済みの機械学習モデル50に入力した場合に出力されるものである。たとえば、本実施例1に係るソフトターゲットは、第1クラスまたは第2クラスのうち、いずれかの分類クラスを示すものとする。
インスペクターモデルデータ144は、Hard-Margin RBFカーネルSVMによって構築されたインスペクターモデルのデータである。以下の説明では、Hard-Margin RBFカーネルSVMを「kSVM」と表記する。かかるインスペクターモデルに、データを入力すると、符号付きの距離の値が出力される。たとえば、符号がプラスであれば、入力したデータは第1クラスに分類される。符号がマイナスであれば、データは、第2クラスに分類される。距離は、データと決定境界との距離を示す。
運用データテーブル145は、時間経過に伴って、追加される運用データセットを有する。図14は、運用データテーブルのデータ構造の一例を示す図である。図14に示すように、運用データテーブル145は、データ識別情報と、運用データセットとを有する。データ識別情報は、運用データセットを識別する情報である。運用データセットは、複数の運用データが含まれる。運用データは、メールスパムのデータ、電気需要予測、株価予測、ポーカーハンドのデータ、画像データ等に対応する。
図10の説明に戻る。制御部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は、訓練データセット141aを取得し、訓練データセット141aを基にして、機械学習モデル50のパラメータを学習する処理部である。たとえば、学習部151は、訓練データセット141aの訓練データを、機械学習モデル50の入力層に入力した場合、出力層の各ノードの出力結果が、入力した訓練データの正解ラベルに近づくように、機械学習モデル50のパラメータを更新する(誤差逆伝播法による学習)。学習部151は、訓練データセット141aに含まれる各訓練データについて、上記処理を繰り返し実行する。また、学習部151は、検証データ141bを用いて、機械学習モデル50の検証を行ってもよい。学習部151は、学習済みの機械学習モデル50のデータ(機械学習モデルデータ142)を、記憶部140に登録する。機械学習モデル50は、「運用モデル」の一例である。
図15は、本実施例1に係る特徴空間の決定境界を説明するための図である。特徴空間30は、訓練データセット141aの各訓練データを可視化したものある。特徴空間30の横軸は、第1特徴量の軸に対応し、縦軸は、第2特徴量の軸に対応する。ここでは説明の便宜上、2軸で各訓練データを示すが、訓練データは、多次元のデータであるものとする。たとえば、丸印の訓練データに対応する正解ラベルを「第1クラス」とし、三角印の訓練データに対応する正解ラベルを「第2クラス」とする。
たとえば、訓練データセット141aによって、機械学習モデル50を学習すると、特徴空間30は、決定境界31によって、モデル適用領域31Aと、モデル適用領域31Bとに分類される。たとえば、機械学習モデル50が、NNである場合、機械学習モデル50にデータを入力すると、第1クラスの確率と、第2クラスの確率とが出力される。第1クラスの確率が、第2クラスよりも大きい場合には、データは、第1クラスに分類される。第2クラスの確率が、第1クラスよりも大きい場合には、データは、第2クラスに分類される。
作成部152は、機械学習モデル50の知識蒸留を基にして、モデル適用領域31Aとモデル適用領域31Bとの決定境界31を学習した、インスペクターモデルを作成する処理部である。このインスペクターモデルにデータ(訓練データまたは運用データ)を入力すると、決定境界31とデータとの距離(符号付きの距離の値)が出力される。
作成部152は、蒸留データテーブル143を生成する処理、インスペクターモデルデータ144を作成する処理を実行する。
作成部152が、蒸留データテーブル143を生成する処理について説明する。図16は、作成部の処理を説明するための図(1)である。作成部152は、機械学習モデルデータ142を用いて、機械学習モデル50を実行し、特徴空間30上の各データを、機械学習モデル50に入力する。これにより、特徴空間30の各データが、第1クラスに分類されるか、第2クラスに分類するのかを特定する。かかる処理を実行することで、作成部152は、特徴空間をモデル適用領域31Aと、モデル適用領域31Bとに分類し、決定境界31を特定する。
作成部152は、特徴空間30上において、所定間隔毎に複数の縦線と横線とを配置する。所定間隔毎に複数の縦線と横線とを配置したものを「グリッド」と表記する。グリッドの幅は、予め設定されているものとする。作成部152は、グリッドの交点座標のデータを選択し、選択したデータを、機械学習モデル50に出力することで、選択したデータに対応するソフトターゲットを算出する。作成部152は、選択したデータ(入力データ)と、ソフトターゲットとを対応付けて、蒸留データテーブル143に登録する。作成部152は、グリッドの各交点座標のデータについても、上記処理を繰り返し実行することで、蒸留データテーブル143を生成する。
続いて、作成部152が、インスペクターモデルデータ144を作成する処理について説明する。図17は、作成部の処理を説明するための図(2)である。作成部152は、蒸留データテーブル143に登録された入力データと、ソフトターゲットとの関係を基にして、kSVMによって構築されたインスペクターモデル35を作成する。作成部152は、作成したインスペクターモデル35のデータ(インスペクターモデルデータ144)を、記憶部140に登録する。
たとえば、作成部152は、蒸留データテーブル143に格納された各入力データを、再生核ヒルベルト空間に射影する。作成部152は、再生核ヒルベルト空間に含まれる第1クラスの入力データのうち、決定境界31に最も近い入力データを、第1サポートベクトルとして選択する。作成部152は、再生核ヒルベルト空間に含まれる第2クラスの入力データのうち、決定境界31に最も近い入力データを、第2サポートベクトルとして選択する。作成部152は、第1サポートベクトルと、第2サポートベクトルとの中間を通る決定境界31を特定することで、インスペクターモデル(kSVM)のハイパーパラメータを特定する。再生核ヒルベルト空間において、決定境界31は直線となり、決定境界31からの距離がmとなる領域を、危険領域32に設定する。距離mは、決定境界31と、第1サポートベクトル(第2サポートベクトル)との距離である。
図10の説明に戻る。検出部153は、インスペクターモデル35を実行して、機械学習モデル50の精度劣化を検出する処理部である。検出部153は、訓練データセット141aの各訓練データを、インスペクターモデル35に入力する。検出部153が、訓練データをインスペクターモデル35に入力すると、特徴空間上の決定境界31と訓練データとの距離(ノルム)が出力される。
検出部153は、決定境界31と訓練データとの距離がm未満である場合、かかる訓練データが危険領域32に含まれると判定する。検出部153は、訓練データセット141aに含まれる各訓練データについて、上記処理を繰り返し実行する。検出部153は、全訓練データのうち、危険領域32に含まれる訓練データの割合を「第一割合」として算出する。
検出部153は、運用データテーブル145に格納された運用データセットを選択し、運用データセットの各運用データを、インスペクターモデル35に入力する。検出部153が、運用データをインスペクターモデル35に入力すると、特徴空間上の決定境界31と運用データとの距離(ノルム)が出力される。
検出部153は、決定境界31と運用データとの距離がm未満である場合、かかる運用データが危険領域32に含まれると判定する。検出部153は、運用データセットに含まれる各運用データについて、上記処理を繰り返し実行する。検出部153は、全運用データのうち、危険領域32に含まれる運用データの割合を「第二割合」として算出する。
検出部153は、第一割合と、第二割合とを比較し、第一割合に対して第二割合が変化した場合に、コンセプトドリフトが発生したと判定し、機械学習モデル50の精度劣化を検出する。たとえば、検出部153は、第一割合と第二割合との絶対値の差分が、閾値以上となる場合に、コンセプトドリフトが発生したと判定する。
図18および図19は、本実施例1に係る検出部の処理を説明するための図である。図18は、第一割合の一例を示す。たとえば、検出部153は、訓練データセット141aの各訓練データをインスペクターモデル35に入力すると、第一割合は「0.02」となる場合を示している。
図19は、第二割合の一例を示す。たとえば、運用データセットC0の各運用データをインスペクターモデル35に入力すると、第二割合は「0.02」となる。第一割合と、運用データセットC0の第二割合とは同じであるため、運用データセットC0において、コンセプトドリフトは発生していない。このため、検出部153は、運用データセットC0について、機械学習モデル50の精度劣化を検出しない。
たとえば、運用データセットC1の各運用データをインスペクターモデル35に入力すると、第二割合は「0.09」となる。第一割合と比較して、運用データセットC1の第二割合が増加しており、運用データセットC1において、コンセプトドリフトは発生している。このため、検出部153は、運用データセットC1について、機械学習モデル50の精度劣化を検出する。
たとえば、運用データセットC2の各運用データをインスペクターモデル35に入力すると、第二割合は「0.05」となる。第一割合と比較して、運用データセットC2の第二割合が増加しており、運用データセットC2において、コンセプトドリフトは発生している。このため、検出部153は、運用データセットC2について、機械学習モデル50の精度劣化を検出する。
たとえば、運用データセットC3の各運用データをインスペクターモデル35に入力すると、第二割合は「0.0025」となる。第一割合と比較して、運用データセットC3の第二割合が減少しており、運用データセットC3において、コンセプトドリフトは発生している。このため、検出部153は、運用データセットC3について、機械学習モデル50の精度劣化を検出する。
検出部153は、機械学習モデル50の精度劣化を検出した場合には、精度劣化を検出した旨の情報を、表示部130に表示してもよいし、外部装置(図示略)に、精度劣化を検出した旨を通知してもよい。検出部153は、精度劣化を検出した根拠となる運用データセットのデータ識別情報を、表示部130に出力して表示させてもよい。また、検出部153は、精度劣化を検出した旨を学習部151に通知して、機械学習モデルデータ142を再学習させてもよい。この場合、学習部151は、新たに指定される訓練データセットを用いて、機械学習モデル50を再学習する。
検出部153は、機械学習モデル50の精度劣化を検出しない場合には、精度劣化を検出していない旨の情報を予測部154に出力する。
予測部154は、機械学習モデル50の精度劣化が検出されていない場合、機械学習モデル50を実行して、運用データセットを入力し、各運用データの分類クラスを予測する処理部である。予測部154は、予測結果を、表示部130に出力して表示させてもよいし、外部装置に送信してもよい。
次に、本実施例1に係る情報処理装置100の処理手順の一例について説明する。図20は、本実施例1に係る情報処理装置の処理手順を示すフローチャートである。図20に示すように、情報処理装置100の学習部151は、訓練データセット141aを基にして、機械学習モデル50を学習する(ステップS101)。
情報処理装置100の作成部152は、知識蒸留を用いて、蒸留データテーブル143を生成する(ステップS102)。作成部152は、蒸留データテーブル143を基にして、インスペクターモデルを生成する(ステップS103)。
情報処理装置100の検出部153は、訓練データセット141aの各訓練データをインスペクターモデルに入力し、第一割合を算出する(ステップS104)。情報処理装置100は、運用データセットの各運用データをインスペクターモデルに入力し、第二割合を算出する(ステップS105)。
情報処理装置100の検出部153は、第一割合と第二割合とを基にして、コンセプトドリフトが発生したか否かを判定する(ステップS106)。情報処理装置100は、コンセプトドリフトが発生した場合には(ステップS107,Yes)、ステップS108に移行する。一方、情報処理装置100は、コンセプトドリフトが発生していない場合には(ステップS107,No)、ステップS109に移行する。
ステップS108以降の処理について説明する。学習部151は、新たな訓練データセットによって、機械学習モデル50を再学習し(ステップS108)、ステップS102に移行する。
ステップS109以降の処理について説明する。情報処理装置100の予測部154は、運用データセットを、機械学習モデルに入力し、各運用データの分類クラスを予測する(ステップS109)。予測部154は、予測結果を出力する(ステップS110)。
次に、本実施例1に係る情報処理装置100の効果について説明する。情報処理装置100は、訓練データセット141aを基にして、機械学習モデル50を生成し、知識蒸留を用いて、インスペクターモデルを作成する。情報処理装置100は、インスペクターモデルに訓練データセットを入力した場合の第一割合と、運用データセットを入力した場合の第二割合とを算出し、第一割合と第二割合とを基にして、機械学習モデル50の精度劣化を検出する。これによって、機械学習モデルの精度劣化を検出することができる。
情報処理装置100は、第一割合と第二割合とを比較して、第二割合が増加または減少した場合、機械学習モデルの精度劣化を検知する。第一割合を基準として、第二割合が変化したということは、運用開始時と比較して、多くの運用データが、危険領域に含まれており、コンセプトドリフトが発生していることを示す。情報処理装置100は、時間経過に伴って、運用データセットを取得し、上記処理を繰り返し実行する。これによって、どのような分類アルゴリズムであっても、汎用的に使用可能なインスペクターモデルを作成し、機械学習モデルの精度劣化を検知することができる。
たとえば、本実施例1に係る情報処理装置100は、機械学習モデル50を用いた知識蒸留によって、インスペクターモデル(カーネルSVM)を構築するため、図7~図9で説明したように、どのような分類アルゴリズムであっても、汎用的に使用可能なインスペクターモデルを作成できる。
本実施例2に係る情報処理装置は、3種類以上の分類クラスについて、分類クラス毎に1対他の蒸留を行うことによって、監視対象となる機械学習モデルの精度劣化を検知する。また、情報処理装置は、精度劣化を検知した場合に、どの分類クラスに影響が出ているのかを特定する。
図21は、本実施例2に係る情報処理装置の処理を説明するための図である。本実施例2では、第1クラスに対応する第1訓練データセット40Aと、第2クラスに対応する第2訓練データセット40Bと、第3クラスに対応する第3訓練データセット40Cとを用いて説明する。
ここでは、第1訓練データセット40Aに含まれる複数の第1訓練データをバツ印で示す。第2訓練データセット40Bに含まれる複数の第2訓練データを三角印で示す。第3訓練データセット40Cに含まれる複数の第3訓練データを丸印で示す。
情報処理装置は、知識蒸留を用いて、「第1訓練データセット40A」と、「第2訓練データセット40Bおよび第2訓練データセット40B」との決定境界41Aを学習したインスペクターモデルM1を作成する。インスペクターモデルM1では、決定境界41A周辺の危険領域42Aを設定する。
情報処理装置は、知識蒸留を用いて、「第2訓練データセット40B」と、「第1訓練データセット40Aおよび第3訓練データセット40C」との決定境界41Bを学習したインスペクターモデルM2を作成する。インスペクターモデルM1では、決定境界41B周辺の危険領域42Bを設定する。
情報処理装置は、知識蒸留を用いて、「第3訓練データセット40C」と、「第1訓練データセット40Aおよび第2訓練データセット40B」との決定境界41Cを学習したインスペクターモデルM3を作成する。インスペクターモデルM3では、決定境界41C周辺の危険領域42Cを設定する。
情報処理装置は、インスペクターモデルM1,M2,M3それぞれについて、第一割合および第二割合をそれぞれ算出する。以下の説明において、インスペクターモデルM1を用いて算出した第一割合を「割合M1-1」と表記し、インスペクターモデルM1を用いて算出した第二割合を「割合M1-2」と表記する。インスペクターモデルM2を用いて算出した第一割合を「割合M2-1」と表記し、インスペクターモデルM2を用いて算出した第二割合を「割合M2-2」と表記する。インスペクターモデルM3を用いて算出した第一割合を「割合M3-1」と表記し、インスペクターモデルM3を用いて算出した第二割合を「割合M3-2」と表記する。
たとえば、割合M1-1は、第1、2、3訓練データセットをインスペクターモデルM1に入力した場合に、全訓練データのうち、危険領域42Aに含まれる訓練データの割合を示す。割合M1-2は、運用データセットをインスペクターモデルM1に入力した場合に、全運用データのうち、危険領域42Aに含まれる運用データの割合を示す。
割合M2-1は、第1、2、3訓練データセットをインスペクターモデルM2に入力した場合に、全訓練データのうち、危険領域42Bに含まれる訓練データの割合を示す。割合M2-2は、運用データセットをインスペクターモデルM2に入力した場合に、全運用データのうち、危険領域42Bに含まれる運用データの割合を示す。
割合M3-1は、第1、2、3訓練データセットをインスペクターモデルM3に入力した場合に、全訓練データのうち、危険領域42Cに含まれる訓練データの割合を示す。割合M3-2は、運用データセットをインスペクターモデルM3に入力した場合に、全運用データのうち、危険領域42Cに含まれる運用データの割合を示す。
情報処理装置は、第一割合と第二割合との差分(差分の絶対値)が閾値以上となった場合に、監視対象の機械学習モデルの精度劣化を検出する。また、情報処理装置は、差分が最も大きい第一割合と第二割合との組を基にして、精度劣化の要因となる分類クラスを特定する。閾値は、予め設定されているものとする。図21の説明では、閾値を「0.1」とする。
具体的には、情報処理装置は、割合M1-1と割合M1-2との差分の絶対が閾値以上となった場合には、第1クラスが精度劣化の要因と判定する。割合M2-1と割合M2-2との差分の絶対が閾値以上となった場合には、第2クラスが精度劣化の要因と判定する。情報処理装置は、割合M3-1と割合M3-2との差分の絶対が閾値以上となった場合には、第3クラスが精度劣化の要因と判定する。
たとえば、割合M1-1=0.09とし、割合M1-2=0.32とすると、割合M1-1と割合M1-2との差分の絶対値が「0.23」となり、閾値以上となる。割合M2-1=0.05とし、割合M2-2=0.051とすると、割合M2-1と割合M2-2との差分の絶対値が「0.01」となり閾値未満となる。割合M3-1=0.006とし、割合M3-2=0.004とすると、割合M3-1と割合M3-2との差分の絶対値が「0.002」となり、閾値未満となる。この場合には、情報処理装置は、運用データセットのコンセプトドリフトを検知し、精度劣化の要因を、第1クラスとして判定する。
このように、本実施例2に係る情報処理装置は、3種類以上の分類クラスについて、分類クラス毎に1対他の蒸留を行うことによって、監視対象となる機械学習モデルの精度劣化を検知する。また、情報処理装置は、精度劣化を検知した場合に、インスペクターモデルM1~M3の第一割合と第二割合とを比較することで、どの分類クラスに影響が出ているのかを特定することができる。
次に、本実施例2に係る情報処理装置の構成について説明する。図22は、本実施例2に係る情報処理装置の構成を示す機能ブロック図である。図22に示すように、情報処理装置200は、通信部210と、入力部220と、表示部230と、記憶部240と、制御部250とを有する。
通信部210は、ネットワークを介して、外部装置(図示略)とデータ通信を実行する処理部である。通信部210は、通信装置の一例である。後述する制御部250は、通信部110を介して、外部装置とデータをやり取りする。
入力部220は、情報処理装置200に対して各種の情報を入力するための入力装置である。入力部220は、キーボードやマウス、タッチパネル等に対応する。
表示部230は、制御部250から出力される情報を表示する表示装置である。表示部230は、液晶ディスプレイ、有機ELディスプレイ、タッチパネル等に対応する。
記憶部240は、教師データ241、機械学習モデルデータ242、蒸留データテーブル243、インスペクターモデルテーブル244、運用データテーブル245を有する。記憶部140は、RAM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
教師データ241は、訓練データセット241aと、検証データ241bを有する。訓練データセット241aは、訓練データに関する各種の情報を保持する。
図23は、本実施例2に係る訓練データセットのデータ構造の一例を示す図である。図23に示すように、この訓練データセットは、レコード番号と、訓練データと、正解ラベルとを対応付ける。レコード番号は、訓練データと、正解ラベルとの組を識別する番号である。訓練データは、メールスパムのデータ、電気需要予測、株価予測、ポーカーハンドのデータ、画像データ等に対応する。正解ラベルは、第1クラスまたは第2クラスを一意に識別する情報である。本実施例2では、正解ラベルとして、第1クラス、第2クラス、第3クラスのいずれか一つが、訓練データに対応付けられる。
検証データ241bは、訓練データセット241aによって学習された機械学習モデルを検証するためのデータである。検証データ241bに関するその他の説明は、実施例1で説明した検証データ141bと同様である。
機械学習モデルデータ242は、機械学習モデルのデータである。本実施例2に機械学習モデルは、所定の分類アルゴリズムによって、入力データを、第1クラス、第2クラスまたは第3クラスに分類する機械学習モデルである。分類アルゴリズムは、NN、ランダムフォレスト、k近傍法、サポートベクターマシン等のうち、いずれの分類アルゴリズムであってもよい。
本実施例2では、機械学習モデルを、NNとして説明を行う。図24は、本実施例2に係る機械学習モデルの一例を説明するための図である。図24に示すように、機械学習モデル55は、ニューラルネットワークの構造を有し、入力層50a、隠れ層50b、出力層50cを持つ。入力層50a、隠れ層50b、出力層50cは、複数のノードがエッジで結ばれる構造となっている。隠れ層50b、出力層50cは、活性化関数と呼ばれる関数とバイアス値とを持ち、エッジは、重みを持つ。以下の説明では、バイアス値、重みを「パラメータ」と表記する。
機械学習モデル55において、入力層50a、隠れ層50bは、図12で説明した機械学習モデル50と同様である。機械学習モデル55は、出力層50cのノード51a,51b,51cから、各クラスの確率が出力される。たとえば、ノード51aから、第1クラスの確率が出力される。ノード51bから、第2クラスの確率が出力される。ノード51cから、第3クラスの確率が出力される。
蒸留データテーブル243は、データセットの各データを、機械学習モデル55に入力した場合の出力結果を格納するテーブルである。蒸留データテーブルのデータ構造は、実施例1で説明した蒸留データテーブル143のデータ構造と同様である。なお、蒸留データテーブル243に含まれるソフトターゲットは、第1クラス、第2クラス、第3クラスのうち、いずれかの分類クラスを示すものとする。
インスペクターモデルテーブル244は、kSVMによって構築されたインスペクターモデルM1,M2,M3のデータを格納するテーブルである。各インスペクターモデルM1,M2,M3に、データを入力すると、符号付きの距離の値が出力される。
インスペクターモデルM1にデータを入力し、符号がプラスであれば、入力したデータは第1クラスに分類される。符号がマイナスであれば、データは、第2クラスまたは第3クラスに分類される。
インスペクターモデルM2にデータを入力し、符号がプラスであれば、入力したデータは第2クラスに分類される。符号がマイナスであれば、データは、第1クラスまたは第3クラスに分類される。
インスペクターモデルM3にデータを入力し、符号がプラスであれば、入力したデータは第3クラスに分類される。符号がマイナスであれば、データは、第1クラスまたは第2クラスに分類される。
運用データテーブル245は、時間経過に伴って、追加される運用データセットを有する。運用データテーブル245のデータ構造は、実施例1で説明した運用データテーブル145のデータ構造と同様である。
図22の説明に戻る。制御部250は、学習部251と、作成部252と、検出部253と、予測部254とを有する。制御部250は、CPUやMPUなどによって実現できる。また、制御部250は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
学習部251は、訓練データセット241aを取得し、訓練データセット241aを基にして、機械学習モデル55のパラメータを学習する処理部である。たとえば、学習部251は、訓練データセット241aの訓練データを、機械学習モデル55の入力層に入力した場合、出力層の各ノードの出力結果が、入力した訓練データの正解ラベルに近づくように、機械学習モデル55のパラメータを更新する(誤差逆伝播法による学習)。学習部251は、訓練データセット241aに含まれる各訓練データについて、上記処理を繰り返し実行する。また、学習部251は、検証データ241bを用いて、機械学習モデル55の検証を行ってもよい。学習部251は、学習済みの機械学習モデル55のデータ(機械学習モデルデータ242)を、記憶部240に登録する。機械学習モデル55は、「運用モデル」の一例である。
図25は、本実施例2に係る特徴空間の決定境界を説明するための図である。特徴空間30は、訓練データセット241aの各訓練データを可視化したものある。特徴空間30の横軸は、第1特徴量の軸に対応し、縦軸は、第2特徴量の軸に対応する。ここでは説明の便宜上、2軸で各訓練データを示すが、訓練データは、多次元のデータであるものとする。たとえば、×印の訓練データに対応する正解ラベルを「第1クラス」とし、三角印の訓練データに対応する正解ラベルを「第2クラス」とし、丸印の訓練データに対応する正解ラベルを「第3クラス」とする。
たとえば、訓練データセット241aによって、機械学習モデル55を学習すると、特徴空間30は、決定境界36によって、モデル適用領域36Aと、モデル適用領域36Bと、モデル適用領域36Cとに分類される。たとえば、機械学習モデル55が、NNである場合、機械学習モデル55にデータを入力すると、第1クラスの確率と、第2クラスの確率と、第3クラスの確率がそれぞれ出力される。第1クラスの確率が、他のクラスよりも大きい場合には、データは、第1クラスに分類される。第2クラスの確率が、他のクラスよりも大きい場合には、データは、第2クラスに分類される。第3クラスの確率が、他のクラスよりも大きい場合には、データは、第3クラスに分類される。
作成部252は、機械学習モデル55の知識蒸留を基にして、インスペクターモデルM1,M2,M3を作成する処理部である。たとえば、作成部252は、「モデル適用領域36A」と「モデル適用領域36B,36C」との決定境界(図21の決定境界41Aに相当)を学習した、インスペクターモデルM1を作成する。このインスペクターモデルM1にデータ(訓練データまたは運用データ)を入力すると、決定境界41Aとデータとの距離(符号付きの距離の値)が出力される。
作成部252は、「モデル適用領域36B」と「モデル適用領域36A,36C」との決定境界(図21の決定境界41Bに相当)を学習した、インスペクターモデルM2を作成する。このインスペクターモデルM2にデータ(訓練データまたは運用データ)を入力すると、決定境界41Bとデータとの距離(符号付きの距離の値)が出力される。
作成部252は、「モデル適用領域36C」と「モデル適用領域36A,36B」との決定境界(図21の決定境界41Cに相当)を学習した、インスペクターモデルM3を作成する。このインスペクターモデルM3にデータ(訓練データまたは運用データ)を入力すると、決定境界41Cとデータとの距離(符号付きの距離の値)が出力される。
図26は、インスペクターモデルの決定境界および危険領域の一例を示す図である。図26では、一例として、インスペクターモデルM2の決定境界および危険領域42Bを示す。インスペクターモデルM1,M3に係る決定境界および危険領域の図示を省略する。
作成部252は、蒸留データテーブル243を生成する処理、インスペクターモデルテーブル244を作成する処理を実行する。
まず、作成部252が、蒸留データテーブル243を生成する処理について説明する。作成部252は、機械学習モデルデータ242を用いて、機械学習モデル55を実行し、特徴空間上の各データを、機械学習モデル55に入力する。これにより、特徴空間の各データが、第1クラス、第2クラス、第3クラスのうち、いずれの分類クラスに分類されるのかを特定する。かかる処理を実行することで、作成部252は、特徴空間をモデル適用領域36Aと、モデル適用領域36B,モデル適用領域36Cとに分類し、決定境界36を特定する。
作成部252は、特徴空間30上において「グリッド」を配置する。グリッドの幅は、予め設定されているものとする。作成部252は、グリッドの交点座標のデータを選択し、選択したデータを、機械学習モデル55に出力することで、選択したデータに対応するソフトターゲットを算出する。作成部252は、選択したデータ(入力データ)と、ソフトターゲットとを対応付けて、蒸留データテーブル243に登録する。作成部252は、グリッドの各交点座標のデータについても、上記処理を繰り返し実行することで、蒸留データテーブル243を生成する。
続いて、作成部252が、インスペクターモデルテーブル244を作成する処理について説明する。作成部252は、蒸留データテーブル243に登録された入力データと、ソフトターゲットとの関係を基にして、kSVMによって構築されたインスペクターモデルM1~M3を作成する。作成部252は、作成したインスペクターモデルM1~M3のデータを、インスペクターモデルテーブル244に登録する。
作成部252が、「インスペクターモデルM1」を作成する処理の一例について説明する。作成部252は、蒸留データテーブル243に格納された各入力データを、再生核ヒルベルト空間に射影する。作成部252は、再生核ヒルベルト空間に含まれる第1クラスの入力データのうち、決定境界41Aに最も近い入力データを、第1サポートベクトルとして選択する。作成部152は、再生核ヒルベルト空間に含まれる第2クラスまたは第3クラスの入力データのうち、決定境界41Aに最も近い入力データを、第2サポートベクトルとして選択する。作成部252は、第1サポートベクトルと、第2サポートベクトルとの中間を通る決定境界41Aを特定することで、インスペクターモデルM1のハイパーパラメータを特定する。再生核ヒルベルト空間において、決定境界41Aは直線となり、決定境界41Aからの距離がmM1となる領域を、危険領域42Aに設定する。距離mM1は、決定境界41Aと、第1サポートベクトル(第2サポートベクトル)との距離である。
作成部252が、「インスペクターモデルM2」を作成する処理の一例について説明する。作成部252は、蒸留データテーブル243に格納された各入力データを、再生核ヒルベルト空間に射影する。作成部252は、再生核ヒルベルト空間に含まれる第2クラスの入力データのうち、決定境界41Bに最も近い入力データを、第3サポートベクトルとして選択する。作成部252は、再生核ヒルベルト空間に含まれる第1クラスまたは第3クラスの入力データのうち、決定境界41Bに最も近い入力データを、第4サポートベクトルとして選択する。作成部252は、第3サポートベクトルと、第4サポートベクトルとの中間を通る決定境界41Bを特定することで、インスペクターモデルM2のハイパーパラメータを特定する。再生核ヒルベルト空間において、決定境界41Bは直線となり、決定境界41Bからの距離がmM2となる領域を、危険領域42Bに設定する。距離mM2は、決定境界41Bと、第3サポートベクトル(第4サポートベクトル)との距離である。
作成部252が、「インスペクターモデルM3」を作成する処理の一例について説明する。作成部252は、蒸留データテーブル243に格納された各入力データを、再生核ヒルベルト空間に射影する。作成部252は、再生核ヒルベルト空間に含まれる第3クラスの入力データのうち、決定境界41Cに最も近い入力データを、第5サポートベクトルとして選択する。作成部252は、再生核ヒルベルト空間に含まれる第1クラスまたは第2クラスの入力データのうち、決定境界41Cに最も近い入力データを、第6サポートベクトルとして選択する。作成部252は、第5サポートベクトルと、第6サポートベクトルとの中間を通る決定境界41Cを特定することで、インスペクターモデルM3のハイパーパラメータを特定する。再生核ヒルベルト空間において、決定境界41Cは直線となり、決定境界41Cからの距離がmM3となる領域を、危険領域42Cに設定する。距離mM3は、決定境界41Cと、第5サポートベクトル(第6サポートベクトル)との距離である。
検出部253は、インスペクターモデルM1~M3を実行して、機械学習モデル55の精度劣化を検出する処理部である。また、検出部253は、機械学習モデル55の精度劣化を検出した場合、精度劣化の要因となる分類クラスを特定する。
検出部253は、インスペクターモデルM1~M3に訓練データセット241aをそれぞれ入力することで、各第一割合(割合M1-1、割合M2-1、割合M3-1)を算出する。
検出部253は、訓練データを、インスペクターモデルM1に入力すると、特徴空間上の決定境界41Aと訓練データとの距離が出力される。検出部253は、決定境界41Aと訓練データとの距離が距離mM1未満である場合、かかる訓練データが危険領域42Aに含まれると判定する。検出部253は、各訓練データに対して、上記処理を繰り返し実行し、全訓練データのうち、危険領域42Aに含まれる訓練データの数を特定し、割合M1-1を算出する。
検出部253は、訓練データを、インスペクターモデルM2に入力すると、特徴空間上の決定境界41Bと訓練データとの距離が出力される。検出部253は、決定境界41Bと訓練データとの距離が距離mM2未満である場合、かかる訓練データが危険領域42Bに含まれると判定する。検出部253は、各訓練データに対して、上記処理を繰り返し実行し、全訓練データのうち、危険領域42Bに含まれる訓練データの数を特定し、割合M2-1を算出する。
検出部253は、訓練データを、インスペクターモデルM3に入力すると、特徴空間上の決定境界41Cと訓練データとの距離が出力される。検出部253は、決定境界41Cと訓練データとの距離が距離mM3未満である場合、かかる訓練データが危険領域42Cに含まれると判定する。検出部253は、各訓練データに対して、上記処理を繰り返し実行し、全訓練データのうち、危険領域42Cに含まれる訓練データの数を特定し、割合M3-1を算出する。
検出部253は、インスペクターモデルM1~M3に運用データセットをそれぞれ入力することで、各第二割合(割合M1-2、割合M2-2、割合M3-2)を算出する。
検出部253は、運用データを、インスペクターモデルM1に入力すると、特徴空間上の決定境界41Aと運用データとの距離が出力される。検出部253は、決定境界41Aと訓練データとの距離が距離mM1未満である場合、かかる運用データが危険領域42Aに含まれると判定する。検出部253は、各運用データに対して、上記処理を繰り返し実行し、全運用データのうち、危険領域42Aに含まれる運用データの数を特定し、割合M1-2を算出する。
検出部253は、運用データを、インスペクターモデルM2に入力すると、特徴空間上の決定境界41Bと運用データとの距離が出力される。検出部253は、決定境界41Bと運用データとの距離が距離mM2未満である場合、かかる運用データが危険領域42Bに含まれると判定する。検出部253は、各運用データに対して、上記処理を繰り返し実行し、全運用データのうち、危険領域42Bに含まれる運用データの数を特定し、割合M2-1を算出する。
検出部253は、運用データを、インスペクターモデルM3に入力すると、特徴空間上の決定境界41Cと運用データとの距離が出力される。検出部253は、決定境界41Cと運用データとの距離が距離mM3未満である場合、かかる運用データが危険領域42Cに含まれると判定する。検出部253は、各運用データに対して、上記処理を繰り返し実行し、全運用データのうち、危険領域42Cに含まれる運用データの数を特定し、割合M3-1を算出する。
検出部253は、対応する第一割合と第二割合とを比較して、第一割合に対して第二割合が変化した場合に、コンセプトドリフトが発生したと判定し、機械学習モデル55の精度劣化を検出する。たとえば、検出部253は、第一割合と第二割合との差分の絶対値が閾値以上である場合に、コンセプトドリフトが発生したと判定する。
ここで、対応する第一割合と第二割合との組を、割合M1-1と割合M1-2との組、割合M2-1と割合M2-2との組、割合M3-1と割合M3-2との組とする。
また、検出部253は、割合M1-1と割合M1-2との差分の絶対値が閾値以上となる場合に、精度劣化の要因となるクラスを「第1クラス」と判定する。検出部253は、割合M2-1と割合M2-2との差分の絶対値が閾値以上となる場合に、精度劣化の要因となるクラスを「第2クラス」と判定する。検出部253は、割合M3-1と割合M3-2との差分の絶対値が閾値以上となる場合に、精度劣化の要因となるクラスを「第3クラス」と判定する。
検出部253は、上記処理によって、機械学習モデル55の精度劣化を検出した場合、精度劣化を検知した旨と、精度劣化の要因となる分類クラスの情報を、表示部230に出力して表示する。また、検出部253は、精度劣化を検知した旨と、精度劣化の要因となる分類クラスの情報を、外部装置に送信してもよい。
検出部253は、機械学習モデル55の精度劣化を検出しない場合には、精度劣化を検出していない旨の情報を予測部254に出力する。
予測部254は、機械学習モデル55の精度劣化が検出されていない場合、機械学習モデル55を実行して、運用データセットを入力し、各運用データの分類クラスを予測する処理部である。予測部254は、予測結果を、表示部230に出力して表示させてもよいし、外部装置に送信してもよい。
次に、本実施例2に係る情報処理装置200の処理手順の一例について説明する。図27は、本実施例2に係る情報処理装置の処理手順を示すフローチャートである。図27に示すように、情報処理装置200の学習部251は、訓練データセット241aを基にして、機械学習モデル55を学習する(ステップS201)。
情報処理装置200の作成部252は、知識蒸留を用いて、蒸留データテーブル243を生成する(ステップS202)。情報処理装置200の作成部252は、蒸留データテーブル243を基にして、複数のインスペクターモデルM1~M3を作成する(ステップS203)。
情報処理装置200の検出部253は、訓練データセットの各訓練データをインスペクターモデルM1~M3にそれぞれ入力し、各第一割合(割合M1-1、割合M2-1、割合M3-1)を算出する(ステップS204)。
検出部253は、運用データセットの各運用データをインスペクターモデルM1~M3にそれぞれ入力し、各第二割合(割合M1-2、割合M2-2、割合M3-2)を算出する(ステップS205)。
検出部253は、各第一割合と各第二割合とを基にして、コンセプトドリフトが発生したか否かを判定する(ステップS206)。情報処理装置200は、コンセプトドリフトが発生した場合には(ステップS207,Yes)、ステップS208に移行する。一方、情報処理装置200は、コンセプトドリフトが発生していない場合には(ステップS207,No)、ステップS209に移行する。
ステップS208以降の処理について説明する。学習部251は、新たな訓練データセットによって、機械学習モデル55を再学習し(ステップS208)、ステップS202に移行する。
ステップS209以降の処理について説明する。情報処理装置200の予測部254は、運用データセットを、機械学習モデル55に入力し、各運用データの分類クラスを予測する(ステップS209)。予測部254は、予測結果を出力する(ステップS210)。
次に、本実施例2に係る情報処理装置200の効果について説明する。情報処理装置200は、3種類以上の分類クラスについて、分類クラス毎に1対他の蒸留を行うことによって、監視対象となる機械学習モデルの精度劣化を検知する。また、情報処理装置200は、精度劣化を検知した場合に、どの分類クラスに影響が出ているのかを特定することができる。
たとえば、分類クラスが3つ以上の場合には、決定境界からの距離のみでは、どの方向に運用データがコンセプトドリフトしているかを特定することができない。これに対して、1対他のクラスの分類モデル(複数のインスペクターモデルM1~M3)を作成することで、どの方向にコンセプトドリフトしているのかを特定でき、どの分類クラスに影響が出ているのかを特定することができる。
本実施例3に係る情報処理装置は、運用データセットに含まれる一つの運用データ毎に、コンセプトドリフト(精度劣化の要因)が発生しているか否かを判定する。以下の説明では、データセットに含まれる一つのデータ(訓練データまたは運用データ)を、「インスタンス」と表記する。
図28は、本実施例3に係る情報処理装置の処理を説明するための図である。本実施例3に係る情報処理装置は、実施例1の情報処理装置100と同様にして、知識蒸留を用いて、インスペクターモデルを作成する。インスペクターモデルによって学習した決定境界を、決定境界60とする。情報処理装置は、特徴空間上のインスタンスと、決定境界60との距離を基にして、精度劣化の要因となるインスタンスとして検出する。
たとえば、図28において、運用データセット61に含まれるインスタンス毎に、確信度は異なる。たとえば、インスタンス61aと、決定境界60との距離はdaである。インスタンス61bと、決定境界60との距離はdbである。距離daは、距離dbよりも小さいため、インスタンス61aは、インスタンス61bよりも、精度劣化の要因となり得る。
ここで、決定境界とインスタンスとの距離はスカラー値であり、運用データセット毎に大きさが変化するため、どれくらいの決定境界からの距離が危ないのかを特定するための閾値を設定することが難しい。このため、情報処理装置は、決定境界からの距離を確率値へと変換し、変換した確率値を確信度として取り扱う。これによって、確信度は、運用データセットによらず、「0~1」の値をとる。
たとえば、情報処理装置は、式(2)に基づいて、確信度を算出する。式(2)に示す例では、あるインスタンスが第1クラスである確率を示すものである。インスタンスの特徴量を「x」とし、決定境界とインスタンスとの距離を「f(x)」とする。「A」および「B」は、訓練データセットから学習されるハイパーパラメータである。
P(y=1|x)=1/(1+exp(Af(x)+B))・・・(2)
情報処理装置は、式(2)に基づいて、運用データセットのインスタンスの確信度を算出し、確信度が予め設定された閾値未満である場合に、かかるインスタンスを、精度劣化の要因として特定する。これによって、運用データセットによらず、確信度を「0~1」の範囲で算出でき、精度劣化の要因となるインスタンスを適切に特定する。
ところで、本実施例3に係る情報処理装置は、更に、次の処理を実行して、監視対象となる機械学習モデルの精度劣化を検出してもよい。情報処理装置は、訓練データセットの各訓練データを、インスペクターモデルに入力して、各訓練データと決定境界60との距離をそれぞれ算出し、各距離の平均値を「第1の距離」として特定する。
情報処理装置は、運用データセットの各運用データを、インスペクターモデルに入力して、各運用データと決定境界60との距離をそれぞれ算出し、各距離の平均値を「第2の距離」として特定する。
情報処理装置は、第1の距離と、第2の距離との差分が予め設定された閾値以上の場合に、コンセプトドリフトが発生したものとして、機械学習モデルの精度劣化を検出する。
上記のように、本実施例3に係る情報処理装置は、決定境界60と、インスタンスとの距離を算出することで、精度劣化の要因となるインスタンスを特定することが可能になる。また、訓練データセットの各インスタンスに基づく第1の距離と、運用データセットの各インスタンスに基づく第2の距離とを利用することで、機械学習モデルの精度劣化を検出することもできる。
次に、本実施例3に係る情報処理装置の構成の一例について説明する。図29は、本実施例3に係る情報処理装置の構成を示す機能ブロック図である。図29に示すように、この情報処理装置300は、通信部310と、入力部320と、表示部330と、記憶部340と、制御部350とを有する。
通信部310は、ネットワークを介して、外部装置(図示略)とデータ通信を実行する処理部である。通信部310は、通信装置の一例である。後述する制御部350は、通信部310を介して、外部装置とデータをやり取りする。
入力部320は、情報処理装置300に対して各種の情報を入力するための入力装置である。入力部320は、キーボードやマウス、タッチパネル等に対応する。
表示部330は、制御部350から出力される情報を表示する表示装置である。表示部330は、液晶ディスプレイ、有機ELディスプレイ、タッチパネル等に対応する。
記憶部340は、教師データ341、機械学習モデルデータ342、蒸留データテーブル343、インスペクターモデルデータ344、運用データテーブル345を有する。記憶部340は、RAM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
教師データ341は、訓練データセット341aと、検証データ341bを有する。訓練データセット341aは、訓練データに関する各種の情報を保持する。訓練データセット341aのデータ構造に関する説明は、実施例1で説明した訓練データセット141aのデータ構造に関する説明と同様である。
検証データ341bは、訓練データセット341aによって学習された機械学習モデルを検証するためのデータである。
機械学習モデルデータ342は、機械学習モデルのデータである。機械学習モデルデータ342に関する説明は、実施例1で説明した機械学習モデルデータ142に関する説明と同様である。本実施例3では、監視対象の機械学習モデルを、機械学習モデル50として説明を行う。なお、機械学習モデルの分類アルゴリズムは、NN、ランダムフォレスト、k近傍法、サポートベクターマシン等のうち、いずれの分類アルゴリズムであってもよい。
蒸留データテーブル343は、データセットの各データを、機械学習モデル50に入力した場合の出力結果(ソフトターゲット)を格納するテーブルである。蒸留データテーブル343のデータ構造に関する説明は、実施例1で説明した蒸留データテーブル143のデータ構造に関する説明と同様である。
インスペクターモデルデータ344は、kSVMによって構築されたインスペクターモデルのデータである。インスペクターモデルデータ344に関する説明は、実施例1で説明したインスペクターモデルデータ144に関する説明と同様である。
運用データテーブル345は、時間経過に伴って、追加される運用データセットを有する。運用データテーブル345のデータ構造に関する説明は、実施例1で説明した運用データテーブル145に関する説明と同様である。
制御部350は、学習部351と、作成部352と、検出部353と、予測部354とを有する。制御部350は、CPUやMPUなどによって実現できる。また、制御部350は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
学習部351は、訓練データセット341aを取得し、訓練データセット341aを基にして、機械学習モデル50のパラメータを学習する処理部である。学習部351の処理に関する説明は、実施例1で説明した学習部151の処理に関する説明と同様である。
作成部352は、機械学習モデル50の知識蒸留を基にして、モデル適用領域31Aとモデル適用領域31Bとの決定境界31を学習した、インスペクターモデルを作成する処理部である。作成部352が、インスペクターモデルを作成する処理は、実施例1で説明した作成部152が、インスペクターモデルを作成する処理と同様である。
なお、作成部352は、訓練データセット341aの各訓練データおよび正解ラベルを基にして、式(2)で説明したハイパーパラメータA,Bを学習する。たとえば、作成部352は、正解ラベル「第1クラス」に対応する訓練データの特徴量xを、式(2)に入力した場合の値が1に近づくように、ハイパーパラメータA、Bを調整する。作成部352は、正解ラベル「第2クラス」に対応する訓練データの特徴量xを、式(2)に入力した場合の値が0に近づくように、ハイパーパラメータA、Bを調整する。作成部352は、各訓練データを用いて、上記処理を繰り返し実行することで、ハイパーパラメータA,Bを学習する。作成部352は、学習したハイパーパラメータA,Bのデータを、検出部353に出力する。
検出部353は、機械学習モデル50の精度劣化の要因となるインスタンスを検出する処理部である。検出部353は、インスペクターモデル35を実行する。検出部353は、運用データセットに含まれるインスタンス(運用データ)を選択し、選択したインスタンスを、インスペクターモデル35に入力することで、決定境界31と、インスタンスとの距離を特定する。また、検出部353は、特定した距離f(x)を、式(2)に入力することで、選択したインスタンスの確信度を算出する。
検出部353は、確信度が閾値未満である場合に、選択したインスタンスを、精度劣化の要因となるインスタンスとして検出する。検出部353は、運用データセットに含まれる各運用データについて、上記処理を繰り返し実行することで、精度劣化の要因となる運用データを検出する。
検出部353は、精度劣化の要因となる各インスタンス(運用データ)のデータを、表示部330に出力して表示させてもよいし、外部装置に送信してもよい。
ところで、検出部353は、更に、次の処理を実行して、監視対象となる機械学習モデル50の精度劣化を検出してもよい。検出部353は、訓練データセット341aの各訓練データを、インスペクターモデル35に入力して、各訓練データと決定境界60との距離をそれぞれ算出し、各距離の平均値を「第1の距離」として特定する。
検出部353は、運用データテーブル345から運用データセットを選択する。検出部353は、運用データセットの各運用データを、インスペクターモデル35に入力して、各運用データと決定境界60との距離をそれぞれ算出し、各距離の平均値を「第2の距離」として特定する。
検出部353は、第1の距離と、第2の距離との差分が予め設定された閾値以上の場合に、コンセプトドリフトが発生したものとして、機械学習モデル50の精度劣化を検出する。検出部353は、時間経過に伴って追加され各運用データセットについて、上記処理を繰り返し実行し、機械学習モデル50の精度劣化を検出する。
検出部353は、機械学習モデル50の精度劣化を検出した場合には、精度劣化を検出した旨の情報を、表示部330に表示してもよいし、外部装置(図示略)に、精度劣化を検出した旨を通知してもよい。検出部353は、精度劣化を検出した根拠となる運用データセットのデータ識別情報を、表示部330に出力して表示させてもよい。また、検出部353は、精度劣化を検出した旨を学習部351に通知して、機械学習モデルデータ342を再学習させてもよい。
予測部354は、機械学習モデル50の精度劣化が検出されていない場合、機械学習モデル50を実行して、運用データセットを入力し、各運用データの分類クラスを予測する処理部である。予測部354は、予測結果を、表示部330に出力して表示させてもよいし、外部装置に送信してもよい。
次に、本実施例3に係る情報処理装置300の処理手順の一例について説明する。図30は、本実施例3に係る情報処理装置の処理手順を示すフローチャートである。図30に示すように、情報処理装置300の学習部351は、訓練データセット341aを基にして、機械学習モデル50を学習する(ステップS301)。
情報処理装置300の作成部352は、知識蒸留を用いて、蒸留データテーブル343を生成する(ステップS302)。作成部352は、蒸留データテーブル343を基にして、インスペクターモデルを作成する(ステップS303)。作成部352は、訓練データセット341aを用いて、式(2)のハイパーパラメータA,Bを学習する(ステップS304)。
情報処理装置300の検出部353は、運用データセットのインスタンスを選択する(ステップS305)。検出部353は、選択したインスタンスをインスペクターモデルに入力し、決定境界とインスタンスとの距離を算出する(ステップS306)。検出部353は、インスタンスの確信度を算出する(ステップS307)。
検出部353は、インスタンスの確信度が閾値未満でない場合には(ステップS308,No)、ステップS310に移行する。一方、検出部353は、インスタンスの確信度が閾値未満である場合には(ステップS308,Yes)、ステップS309に移行する。
検出部353は、選択したインスタンスを、精度劣化の要因として特定する(ステップS309)。情報処理装置300は、全てのインスタンスを選択していない場合には(ステップS310,No)、ステップS312に移行する。情報処理装置300は、全てのインスタンスを選択した場合には(ステップS310,Yes)、ステップS311に移行する。検出部353は、精度劣化の要因として特定したインスタンスを出力する(ステップS311)。
ステップS312以降の処理について説明する。検出部353は、運用データセットから次のインスタンスを選択し(ステップS312)、ステップS306に移行する。
次に、本実施例3に係る情報処理装置300の効果について説明する。情報処理装置300は、知識蒸留を用いてインスペクターモデルを学習し、特徴空間上のインスタンスと、決定境界60との距離を確信度に変換する。確信度に変換することにより、情報処理装置300は、運用データセットによらず、精度劣化の要因となるインスタンスを検出することができる。
情報処理装置300は、訓練データセットの各インスタンスに基づく第1の距離と、運用データセットの各インスタンスに基づく第2の距離とを利用することで、機械学習モデルの精度劣化を検出することもできる。
次に、本実施例に示した情報処理装置100(200,300)と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図31は、本実施例に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図31に示すように、コンピュータ400は、各種演算処理を実行するCPU401と、ユーザからのデータの入力を受け付ける入力装置402と、ディスプレイ403とを有する。また、コンピュータ400は、記憶媒体からプログラム等を読み取る読み取り装置404と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置405とを有する。コンピュータ400は、各種情報を一時記憶するRAM406と、ハードディスク装置407とを有する。そして、各装置401~407は、バス408に接続される。
ハードディスク装置407は、学習プログラム407a、作成プログラム407b、検出プログラム407c、予測プログラム407dを有する。CPU401は、学習プログラム407a、作成プログラム407b、検出プログラム407c、予測プログラム407dを読み出してRAM406に展開する。
学習プログラム407aは、学習プロセス406aとして機能する。作成プログラム407bは、作成プロセス406bとして機能する。検出プログラム407cは、検出プロセス406cとして機能する。予測プログラム407dは、予測プロセス406dとして機能する。
学習プロセス406aの処理は、学習部151,251,351の処理に対応する。作成プロセス406bの処理は、作成部152,252,352の処理に対応する。検出プロセス406cの処理は、検出部153,253,353の処理に対応する。予測プロセス406dは、予測部154,254,354の処理に対応する。
なお、各プログラム407a~407dついては、必ずしも最初からハードディスク装置407に記憶させておかなくてもよい。例えば、コンピュータ400に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ400が各プログラム407a~407dを読み出して実行するようにしてもよい。
100,200,300 情報処理装置
110,210,310 通信部
120,220,320 入力部
130,230,330 表示部
140,240,340 記憶部
141,241,341 教師データ
141a,241a,341a 訓練データセット
141b,241b,341b 検証データ
142,242,342 機械学習モデルデータ
143,243,343 蒸留データテーブル
144,344 インスペクターモデルデータ
145,245,345 運用データテーブル
150,250,350 制御部
151,251,351 学習部
152,252,352 作成部
153,253,353 検出部
154,254,354 予測部
244 インスペクターモデルテーブル
110,210,310 通信部
120,220,320 入力部
130,230,330 表示部
140,240,340 記憶部
141,241,341 教師データ
141a,241a,341a 訓練データセット
141b,241b,341b 検証データ
142,242,342 機械学習モデルデータ
143,243,343 蒸留データテーブル
144,344 インスペクターモデルデータ
145,245,345 運用データテーブル
150,250,350 制御部
151,251,351 学習部
152,252,352 作成部
153,253,353 検出部
154,254,354 予測部
244 インスペクターモデルテーブル
Claims (12)
- コンピュータが実行する検出方法であって、
少なくとも3種類以上の正解ラベルのうち、いずれかの正解ラベルに対応する複数の訓練データを用いて、監視対象となる運用モデルを学習し、
前記運用モデルの出力結果を基にして、データの特徴空間を複数の適用領域に分類する決定境界を学習すると共に、前記決定境界から運用データまでの距離を算出するインスペクターモデルを作成し、
前記複数の訓練データが前記決定境界の付近に位置するか否かを前記インスペクターモデルにより算出し、全訓練データのうち、前記決定境界の付近に位置する訓練データの第一割合を取得し、
少なくとも3種類以上の正解ラベルのうち、いずれかの正解ラベルに対応する複数の運用データが前記決定境界の付近に位置するか否かを前記インスペクターモデルにより算出し、全運用データのうち、前記決定境界の付近に位置する運用データの第二割合を取得し、
前記第一割合と前記第二割合とを基にして、前記運用データの傾向の時間変化に起因する前記運用モデルの出力結果の変化を検出する
処理を実行することを特徴とする検出方法。 - 前記作成する処理は、前記データの特徴空間を、1つの適用領域と、他の複数の適用領域とに分類する決定境界を学習させた複数のインスペクターモデルを作成することを特徴とする請求項1に記載の検出方法。
- 前記第一割合を取得する処理は、前記複数のインスペクターモデルの決定境界毎に、前記第一割合を取得し、前記第二割合を取得する処理は、前記複数のインスペクターモデルの決定境界毎に、前記第二割合を取得することを特徴とする請求項2に記載の検出方法。
- 前記検出する処理は、前記複数のインスペクターモデルの決定境界毎の第一割合と、前記複数のインスペクターモデルの決定境界毎の第二割合とを基にして、前記運用モデルの出力結果の変化の要因となるデータを検出することを特徴とする請求項3に記載の検出方法。
- コンピュータに、
少なくとも3種類以上の正解ラベルのうち、いずれかの正解ラベルに対応する複数の訓練データを用いて、監視対象となる運用モデルを学習し、
前記運用モデルの出力結果を基にして、データの特徴空間を複数の適用領域に分類する決定境界を学習すると共に、前記決定境界から運用データまでの距離を算出するインスペクターモデルを作成し、
前記複数の訓練データが前記決定境界の付近に位置するか否かを前記インスペクターモデルにより算出し、全訓練データのうち、前記決定境界の付近に位置する訓練データの第一割合を取得し、
少なくとも3種類以上の正解ラベルのうち、いずれかの正解ラベルに対応する複数の運用データが前記決定境界の付近に位置するか否かを前記インスペクターモデルにより算出し、全運用データのうち、前記決定境界の付近に位置する運用データの第二割合を取得し、
前記第一割合と前記第二割合とを基にして、前記運用データの傾向の時間変化に起因する前記運用モデルの出力結果の変化を検出する
処理を実行させることを特徴とする検出プログラム。 - 前記作成する処理は、前記データの特徴空間を、1つの適用領域と、他の複数の適用領域とに分類する決定境界を学習させた複数のインスペクターモデルを作成することを特徴とする請求項5に記載の検出プログラム。
- 前記第一割合を取得する処理は、前記複数のインスペクターモデルの決定境界毎に、前記第一割合を取得し、前記第二割合を取得する処理は、前記複数のインスペクターモデルの決定境界毎に、前記第二割合を取得することを特徴とする請求項6に記載の検出プログラム。
- 前記検出する処理は、前記複数のインスペクターモデルの決定境界毎の第一割合と、前記複数のインスペクターモデルの決定境界毎の第二割合とを基にして、前記運用モデルの出力結果の変化の要因となるデータを検出することを特徴とする請求項7に記載の検出プログラム。
- 少なくとも3種類以上の正解ラベルのうち、いずれかの正解ラベルに対応する複数の訓練データを用いて、監視対象となる運用モデルを学習する学習部と、
前記運用モデルの出力結果を基にして、データの特徴空間を複数の適用領域に分類する決定境界を学習すると共に、前記決定境界から運用データまでの距離を算出するインスペクターモデルを作成する作成部と、
前記複数の訓練データが前記決定境界の付近に位置するか否かを前記インスペクターモデルにより算出し、全訓練データのうち、前記決定境界の付近に位置する訓練データの第一割合を取得し、少なくとも3種類以上の正解ラベルのうち、いずれかの正解ラベルに対応する複数の運用データが前記決定境界の付近に位置するか否かを前記インスペクターモデルにより算出し、全運用データのうち、前記決定境界の付近に位置する運用データの第二割合を取得し、前記第一割合と前記第二割合とを基にして、前記運用データの傾向の時間変化に起因する前記運用モデルの出力結果の変化を検出する検出部と
を有することを特徴とする情報処理装置。 - 前記作成部は、前記データの特徴空間を、1つの適用領域と、他の複数の適用領域とに分類する決定境界を学習させた複数のインスペクターモデルを作成することを特徴とする請求項9に記載の情報処理装置。
- 前記検出部は、前記複数のインスペクターモデルの決定境界毎に、前記第一割合を取得し、前記第二割合を取得する処理は、前記複数のインスペクターモデルの決定境界毎に、前記第二割合を取得することを特徴とする請求項10に記載の情報処理装置。
- 前記検出部は、前記複数のインスペクターモデルの決定境界毎の第一割合と、前記複数のインスペクターモデルの決定境界毎の第二割合とを基にして、前記運用モデルの出力結果の変化の要因となるデータを検出することを特徴とする請求項11に記載の情報処理装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/041690 WO2021079459A1 (ja) | 2019-10-24 | 2019-10-24 | 検出方法、検出プログラムおよび情報処理装置 |
JP2021553229A JP7400827B2 (ja) | 2019-10-24 | 2019-10-24 | 検出方法、検出プログラムおよび情報処理装置 |
US17/694,716 US20220207307A1 (en) | 2019-10-24 | 2022-03-15 | Computer-implemented detection method, non-transitory computer-readable recording medium, and computing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/041690 WO2021079459A1 (ja) | 2019-10-24 | 2019-10-24 | 検出方法、検出プログラムおよび情報処理装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/694,716 Continuation US20220207307A1 (en) | 2019-10-24 | 2022-03-15 | Computer-implemented detection method, non-transitory computer-readable recording medium, and computing system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021079459A1 true WO2021079459A1 (ja) | 2021-04-29 |
Family
ID=75620436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/041690 WO2021079459A1 (ja) | 2019-10-24 | 2019-10-24 | 検出方法、検出プログラムおよび情報処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220207307A1 (ja) |
JP (1) | JP7400827B2 (ja) |
WO (1) | WO2021079459A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023275971A1 (ja) * | 2021-06-29 | 2023-01-05 | 日本電気株式会社 | 情報処理装置、情報処理方法及び非一時的なコンピュータ可読媒体 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016152053A1 (ja) * | 2015-03-23 | 2016-09-29 | 日本電気株式会社 | 精度推定モデル生成システムおよび精度推定システム |
JP2019164774A (ja) * | 2018-03-15 | 2019-09-26 | 富士通株式会社 | 学習装置、検査装置、学習検査方法、学習プログラムおよび検査プログラム |
-
2019
- 2019-10-24 WO PCT/JP2019/041690 patent/WO2021079459A1/ja active Application Filing
- 2019-10-24 JP JP2021553229A patent/JP7400827B2/ja active Active
-
2022
- 2022-03-15 US US17/694,716 patent/US20220207307A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016152053A1 (ja) * | 2015-03-23 | 2016-09-29 | 日本電気株式会社 | 精度推定モデル生成システムおよび精度推定システム |
JP2019164774A (ja) * | 2018-03-15 | 2019-09-26 | 富士通株式会社 | 学習装置、検査装置、学習検査方法、学習プログラムおよび検査プログラム |
Non-Patent Citations (1)
Title |
---|
ROMERO, ADRIANA: "FitNets: Hints for Thin Deep Nets", ARXIV, 27 March 2015 (2015-03-27), pages 1 - 13, XP055349753, Retrieved from the Internet <URL:https://arxiv.org/pdf/1412.6550v4> [retrieved on 20191219] * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023275971A1 (ja) * | 2021-06-29 | 2023-01-05 | 日本電気株式会社 | 情報処理装置、情報処理方法及び非一時的なコンピュータ可読媒体 |
Also Published As
Publication number | Publication date |
---|---|
JP7400827B2 (ja) | 2023-12-19 |
US20220207307A1 (en) | 2022-06-30 |
JPWO2021079459A1 (ja) | 2021-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10636007B2 (en) | Method and system for data-based optimization of performance indicators in process and manufacturing industries | |
JP6669453B2 (ja) | 画像分類装置および画像分類方法 | |
JP6584250B2 (ja) | 画像分類方法、分類器の構成方法および画像分類装置 | |
US20220222581A1 (en) | Creation method, storage medium, and information processing apparatus | |
Taha et al. | Clustering the dominant defective patterns in semiconductor wafer maps | |
US20220188707A1 (en) | Detection method, computer-readable recording medium, and computing system | |
US9292650B2 (en) | Identifying layout pattern candidates | |
US20220230027A1 (en) | Detection method, storage medium, and information processing apparatus | |
Choeikiwong et al. | Software defect prediction in imbalanced data sets using unbiased support vector machine | |
Zhang et al. | Fault detection and diagnosis for data incomplete industrial systems with new Bayesian network approach | |
WO2021079459A1 (ja) | 検出方法、検出プログラムおよび情報処理装置 | |
WO2021079458A1 (ja) | 検出方法、検出プログラムおよび情報処理装置 | |
JP6988995B2 (ja) | 画像生成装置、画像生成方法および画像生成プログラム | |
WO2022079919A1 (ja) | 検知プログラム、検知方法および検知装置 | |
WO2020230324A1 (ja) | 学習装置、学習方法および学習プログラム | |
Aguiar et al. | A comprehensive analysis of concept drift locality in data streams | |
JP2017107422A (ja) | 画像分類方法および画像分類装置 | |
Fazel | A new method to predict the software fault using improved genetic algorithm | |
Lee et al. | Discovery of fault-introducing tool groups with a numerical association rule mining method in a printed circuit board production line | |
JP7448026B2 (ja) | 検知プログラム、モデル生成プログラム、検知方法、モデル生成方法、検知装置及びモデル生成装置 | |
US20220237463A1 (en) | Generation method, computer-readable recording medium storing generation program, and information processing apparatus | |
EP4318333A1 (en) | Information presentation program, information presentation method, and information presentation device | |
US20220222582A1 (en) | Generation method, computer-readable recording medium storing generation program, and information processing apparatus | |
US20220215272A1 (en) | Deterioration detection method, computer-readable recording medium storing deterioration detection program, and information processing apparatus | |
Lee et al. | Robustness of the one‐class Peeling method to the Gaussian Kernel Bandwidth |
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: 19949903 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021553229 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: 19949903 Country of ref document: EP Kind code of ref document: A1 |