WO2021079478A1 - 劣化検出方法、劣化検出プログラムおよび情報処理装置 - Google Patents
劣化検出方法、劣化検出プログラムおよび情報処理装置 Download PDFInfo
- Publication number
- WO2021079478A1 WO2021079478A1 PCT/JP2019/041792 JP2019041792W WO2021079478A1 WO 2021079478 A1 WO2021079478 A1 WO 2021079478A1 JP 2019041792 W JP2019041792 W JP 2019041792W WO 2021079478 A1 WO2021079478 A1 WO 2021079478A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- model
- class
- data
- inspector
- input data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Definitions
- the present invention relates to a deterioration detection method, a deterioration detection program, and an information processing device.
- models For information systems used by companies, etc., the introduction of machine learning models (hereinafter, may be simply referred to as "models") for data judgment and classification functions is progressing. Since the machine learning model makes judgments and classifications according to the teacher data learned at the time of system development, if the tendency (data distribution) of the input data changes during system operation, the accuracy of the machine learning model deteriorates.
- model accuracy deterioration detection during system operation is a method of manually checking the correctness of the model output result by a human being to calculate the correct answer rate and detecting the accuracy deterioration from the decrease in the correct answer rate. Is used.
- the T 2 statistic (Hotelling's T-squre) is known as a technique for automatically detecting the accuracy deterioration of a machine learning model during system operation.
- the input data and the normal data (training data) group are analyzed for principal components, and the T 2 statistic of the input data, which is the sum of the squares of the distances from the origins of each standardized principal component, is calculated.
- the change in the ratio of the outlier data is detected, and the accuracy deterioration of the model is automatically detected.
- One aspect is to provide a deterioration detection method, a deterioration detection program, and an information processing device that can monitor the accuracy of a model during system operation in real time.
- the deterioration detection method executes a process of acquiring the first output result when the computer inputs the input data to the trained model.
- the computer executes a process of acquiring a second output result when the input data is input to the detection model that detects the performance deterioration of the learned model.
- the computer executes a process of calculating the first matching result comparing the first output result and the second output result in the first period.
- the computer executes a process of calculating a second matching result comparing the first output result and the second output result in a second period different from the first period.
- the computer executes a process of outputting the change in the accuracy deterioration of the trained model by using the first matching result and the second matching result.
- the accuracy of the model during system operation can be monitored in real time.
- FIG. 1 is a diagram illustrating an accuracy deterioration detection device according to the first embodiment.
- FIG. 2 is a diagram for explaining accuracy deterioration.
- FIG. 3 is a diagram illustrating an inspector model according to the first embodiment.
- FIG. 4 is a functional block diagram showing a functional configuration of the accuracy deterioration detection device according to the first embodiment.
- FIG. 5 is a diagram showing an example of information stored in the teacher data DB.
- FIG. 6 is a diagram showing an example of information stored in the input data DB.
- FIG. 7 is a diagram illustrating detection of accuracy deterioration.
- FIG. 8 is a diagram illustrating a real-time display of the accuracy state.
- FIG. 9 is a flowchart showing the flow of processing according to the first embodiment.
- FIG. 9 is a flowchart showing the flow of processing according to the first embodiment.
- FIG. 10 is a diagram illustrating the effect.
- FIG. 11 is a diagram illustrating a specific example of teacher data.
- FIG. 12 is a diagram illustrating an execution result of accuracy deterioration detection.
- FIG. 13 is a diagram illustrating erroneous detection of data that changes periodically.
- FIG. 14 is a functional block diagram showing a functional configuration of the accuracy deterioration detection device according to the second embodiment.
- FIG. 15 is a diagram illustrating learning of the inspector model according to the second embodiment.
- FIG. 16 is a diagram illustrating detection of accuracy deterioration according to the second embodiment.
- FIG. 17 is a flowchart showing the flow of processing according to the second embodiment.
- FIG. 18 is a diagram illustrating the effect of the second embodiment.
- FIG. 19 is a diagram illustrating a specific example of the second embodiment.
- FIG. 20 is a functional block diagram showing a functional configuration of the accuracy deterioration detection device according to the third embodiment.
- FIG. 21 is a diagram
- FIG. 1 is a diagram illustrating an accuracy deterioration detection device 10 according to the first embodiment.
- the accuracy deterioration detection device 10 shown in FIG. 1 executes determination (classification) of input data using a trained machine learning model (hereinafter, may be simply referred to as a “model”), while machine learning.
- model a trained machine learning model
- This is an example of a computer device that monitors the accuracy of a model and displays the accuracy status in real time.
- a machine learning model is trained using image data with an explanatory variable as image data and teacher data with an objective variable as a clothing name during training, and when image data is input as input data during operation, a "shirt” or the like is used. It is an image classifier that outputs the judgment result.
- the machine learning model is an example of an image classifier that performs classification of high-dimensional data and multi-class classification.
- the machine learning model learned by machine learning or deep learning is learned based on the teacher data that combines the training data and the labeling, it functions only within the range included in the teacher data.
- the machine learning model it is assumed that the same kind of data as at the time of learning is input after operation, but in reality, the state of the input data changes and the machine learning model functions properly. It may disappear. That is, "model accuracy deterioration" occurs.
- FIG. 2 is a diagram for explaining the deterioration of accuracy.
- FIG. 2 is information organized by excluding unnecessary data of the input data, and shows a feature space in which the machine learning model classifies the input input data.
- FIG. 2 illustrates the feature space classified into class 0, class 1, and class 2.
- the accuracy deterioration detection device 10 solves the same problem as the machine learning model to be monitored, and at least one inspector generated by using a DNN (Deep Neural Network). Use a model (monitor, sometimes referred to simply as "inspector” below). Specifically, the accuracy deterioration detection device 10 aggregates the matching rate between the output of the machine learning model and the output of each inspector model for each output class of the machine learning model, thereby changing the distribution of the matching rate, that is, inputting. Detect changes in data distribution.
- DNN Deep Neural Network
- FIG. 3 is a diagram illustrating an inspector model according to the first embodiment.
- the inspector model is an example of a detection model generated under different conditions (different model application domain (Applicability Domain)) from the machine learning model. That is, each area (each feature amount) judged by the inspector model as class 0, class 1, and class 2 is narrower than each area judged by the machine learning model as class 0, class 1, and class 2. , The inspector model is generated.
- different model application domain Applicability Domain
- the machine learning model determines that the input data is class 0, and the inspector model is also class 0. Is determined. That is, both are within the model application area of class 0, and the output values always match, so that the matching rate does not decrease.
- the machine learning model determines that the input data is class 0, but the inspector model is an area outside the model application range of each class. Therefore, it is not always judged as class 0. That is, since the output values do not always match, the matching rate decreases.
- the accuracy deterioration detection device 10 is a class based on the inspector model trained so as to have a model application area narrower than the model application area of the machine learning model in parallel with the class determination by the machine learning model. Judgment is executed and the match judgment result of both class judgments is accumulated. Then, the accuracy deterioration detection device 10 can monitor the accuracy of the model during system operation in real time by calculating the matching rate indicating the reliability of the model and displaying the matching rate on a monitor or the like in real time. ..
- FIG. 4 is a functional block diagram showing a functional configuration of the accuracy deterioration detection device 10 according to the first embodiment.
- the accuracy deterioration detection device 10 includes a communication unit 11, a storage unit 12, and a control unit 20.
- the communication unit 11 is a processing unit that controls communication with other devices, such as a communication interface. For example, the communication unit 11 receives various instructions from an administrator terminal or the like. In addition, the communication unit 11 receives input data to be determined from various terminals.
- the storage unit 12 is an example of a storage device that stores data, a program executed by the control unit 20, and the like, such as a memory and a hard disk.
- the storage unit 12 stores the teacher data DB 13, the input data DB 14, the machine learning model 15, and the inspector model DB 16.
- the teacher data DB 13 is a database that stores teacher data used for learning a machine learning model and is also used for learning an inspector model.
- FIG. 5 is a diagram showing an example of information stored in the teacher data DB 13. As shown in FIG. 5, the teacher data DB 13 stores the data ID and the teacher data in association with each other.
- the data ID stored here is an identifier that identifies the teacher data.
- the teacher data is training data used for learning or verification data used for verification at the time of learning.
- the training data X whose data ID is “A1” and the verification data Y whose data ID is “B1” are illustrated.
- the training data and the verification data are data in which the image data, which is an explanatory variable, and the correct answer information (label), which is an objective variable, are associated with each other.
- the input data DB 14 is a database that stores the input data to be determined. Specifically, the input data DB 14 is image data input to the machine learning model, and stores image data to be image-classified.
- FIG. 6 is a diagram showing an example of information stored in the input data DB 14. As shown in FIG. 6, the input data DB 14 stores the data ID and the input data in association with each other.
- the data ID stored here is an identifier that identifies the input data.
- the input data is image data to be classified. In the example of FIG. 6, the input data 1 whose data ID is “01” is illustrated.
- the input data does not need to be stored in advance and may be transmitted as a data stream from another terminal.
- the machine learning model 15 is a learned machine learning model, and is a model to be monitored by the accuracy deterioration detection device 10. It is also possible to store a machine learning model 15 such as a neural network or a support vector machine in which trained parameters are set, and a trained parameter that can be constructed by the trained machine learning model 15 is stored. May be good.
- the inspector model DB 16 is a database that stores information on at least one inspector model used for detecting accuracy deterioration.
- the inspector model DB 16 is a parameter for constructing an inspector model, and stores various parameters of the DNN generated (optimized) by machine learning by the control unit 20 described later.
- the inspector model DB 16 can also store the trained parameters, and can also store the inspector model itself (DNN) in which the trained parameters are set.
- the control unit 20 is a processing unit that controls the entire accuracy deterioration detection device 10, such as a processor.
- the control unit 20 includes an inspector model generation unit 21, a setting unit 22, a deterioration detection unit 23, a display control unit 26, and a notification unit 27.
- the inspector model generation unit 21, setting unit 22, deterioration detection unit 23, display control unit 26, and notification unit 27 are examples of electronic circuits included in the processor and examples of processes executed by the processor.
- the inspector model generation unit 21 is a processing unit that generates an inspector model, which is an example of a monitor and a detection model that detects accuracy deterioration of the machine learning model 15. Specifically, the inspector model generation unit 21 generates inspector models having different model application ranges by deep learning using the teacher data used for learning the machine learning model 15. Then, the inspector model generation unit 21 stores various parameters for constructing an inspector model (DNN) having different model application ranges obtained by deep learning in the inspector model DB 16.
- DNN inspector model
- the inspector model generation unit 21 generates a plurality of inspector models having different application ranges by controlling the number of training data.
- the larger the number of training data the more features are learned, so that more comprehensive learning is executed and a model with a wide model application range is generated.
- the feature amount of the teacher data to be learned is smaller, so that the range (feature amount) that can be covered is limited, and a model with a narrow model application range is generated.
- the inspector model generation unit 21 generates a plurality of inspector models by changing the number of training data while keeping the number of trainings the same. You can also do it. For example, consider a case where five inspector models are generated in a state where the machine learning model 15 is trained by the number of trainings (100 epochs) and the number of training data (1000 pieces / class). In this case, the inspector model generation unit 21 sets the number of training data of the inspector model 1 to "500 / class", the number of training data of the inspector model 2 to "400 / class", and the number of training data of the inspector model 3.
- the teacher data is obtained from the teacher data DB13. Randomly select and learn each with 100 epochs.
- the inspector model generation unit 21 stores various parameters of the learned inspector models 1, 2, 3, 4, and 5 in the inspector model DB 16. In this way, the inspector model generation unit 21 can generate five inspector models having a model application range narrower than the application range of the machine learning model 15 and having different model application ranges.
- the inspector model generation unit 21 can learn each inspector model by using a method such as error back propagation, and other methods can also be adopted. For example, the inspector model generator updates the DNN parameters so that the error between the output result obtained by inputting the training data into the inspector model and the label of the input training data becomes small, so that the inspector model can be used. (DNN) learning is performed.
- the setting unit 22 is a processing unit that sets a threshold value for determining deterioration and a specified number of data used for calculating the matching rate. For example, the setting unit 22 reads the machine learning model 15 from the storage unit 12 and reads various parameters from the inspector model DB 16 to construct a trained inspector model. Then, the setting unit 22 reads out each verification data stored in the teacher data DB 13, inputs them into the machine learning model 15 and the inspector model, and distributes the results to the model application area based on the respective output results (classification results). To get.
- the setting unit 22 calculates the matching rate of each class between the machine learning model 15 and the inspector model 1 with respect to the verification data. Then, the setting unit 22 sets the threshold value using the matching rate. For example, the setting unit 22 displays the match rate on a display or the like and accepts the threshold setting from the user. Further, when a plurality of inspector models are used, the setting unit 22 responds to the deterioration state requested by the user, such as the average value of each match rate, the maximum value of each match rate, and the minimum value of each match rate. , Can be arbitrarily selected and set.
- the setting unit 22 displays a setting screen or the like and accepts a specified number of matching rate calculations. For example, when it is set to 100, the matching rate is calculated after the matching determination for 100 input data is completed. Further, not limited to the number of data, an interval can be specified such as every hour or one month. In this case, the matching rate and the matching rate are calculated at the set intervals.
- the number of input data (specified number) used for calculating the match rate can be arbitrarily determined by the user. The larger the specified number, the smaller the reliability error, but the larger the number of data required for calculation.
- the deterioration detection unit 23 has a classification unit 24 and a monitoring unit 25, compares the output result of the machine learning model 15 with respect to the input data with the output result of the inspector model, and determines the accuracy of the machine learning model 15. It is a processing unit that detects deterioration.
- the classification unit 24 is a processing unit that inputs input data to each of the machine learning model 15 and the inspector model and acquires the output results (classification results) of each. For example, when the learning of the inspector model is completed, the classification unit 24 acquires the parameters of the inspector model from the inspector model DB 16 to construct the inspector model, and executes the machine learning model 15.
- the classification unit 24 inputs the input data to the machine learning model 15 and acquires the output result, and inputs the input data to the inspector model (DNN) to acquire each output result. After that, the classification unit 24 stores the input data and each output result in association with each other in the storage unit 12, and outputs the input data to the monitoring unit 25.
- the monitoring unit 25 is a processing unit that monitors the accuracy deterioration of the machine learning model 15 by using the output result of the inspector model. Specifically, the monitoring unit 25 measures the distribution change of the matching rate between the output of the machine learning model 15 and the output of the inspector model for each class. For example, the monitoring unit 25 executes a match determination between the output result of the machine learning model 15 and the output result of the inspector model for each input data, and stores the data in the storage unit 12 or the like.
- the monitoring unit 25 calculates the matching rate for each inspector model or each class using the matching determination result between the output of the machine learning model 15 and the output of the inspector model at the intervals set by the setting unit 22. For example, when the set value is 100 data, the monitoring unit 25 calculates the matching rate when the matching determination of 100 input data is completed. Further, when the set value is 1 hour, the monitoring unit 25 calculates the match rate every 1 hour. After that, the monitoring unit 25 stores the match determination result in the storage unit 12 or outputs it to the display control unit 26.
- FIG. 7 is a diagram for explaining the detection of accuracy deterioration.
- FIG. 7 illustrates the output result of the machine learning model 15 to be monitored and the output result of the inspector model for the input data.
- the probability that the output of the inspector model matches the output of the machine learning model 15 to be monitored will be described by using the data distribution to the model application area in the feature space.
- the monitoring unit 25 has six input data belonging to the model application area of class 0 and six to the model application area of class 1 from the machine learning model 15 to be monitored. It is acquired that the input data belongs and eight input data belong to the model application area of the class 2. On the other hand, from the inspector model, the monitoring unit 25 has 6 input data belonging to the model application area of class 0, 6 input data belonging to the model application area of class 1, and 8 to the model application area of class 2. Gets that two input data belong.
- the monitoring unit 25 calculates the matching rate as 100% because the matching rate of each class of the machine learning model 15 and the inspector model matches. At this timing, the classification results match.
- the monitoring unit 25 receives from the machine learning model 15 to be monitored that six input data belong to the model application area of class 0 and six input data belong to the model application area of class 1. It is acquired that eight input data belong to the model application area of class 2. On the other hand, from the inspector model, the monitoring unit 25 has three input data belonging to the model application area of class 0, six input data belonging to the model application area of class 1, and eight to the model application area of class 2. Gets that two input data belong.
- the monitoring unit 25 calculates the match rate as 50% ((3/6) ⁇ 100) for class 0, and calculates the match rate as 100% for class 1 and class 2. That is, a change in the class 0 data distribution is detected. At this timing, the inspector model is not always classified into class 0 with respect to the three input data not classified into class 0.
- the monitoring unit 25 belongs to the machine learning model 15 to be monitored, and three input data belong to the model application area of class 0, and six input data belong to the model application area of class 1. , Acquire that eight input data belong to the model application area of class 2.
- the monitoring unit 25 has one input data belonging to the model application area of class 0, six input data belonging to the model application area of class 1, and eight to the model application area of class 2. Gets that two input data belong.
- the monitoring unit 25 calculates the match rate as 33% ((1/3) ⁇ 100) for class 0, and calculates the match rate as 100% for class 1 and class 2. That is, it is determined that the class 0 data distribution has changed.
- the input data that should be classified as class 0 is not classified as class 0, and in the inspector model, the five input data that are not classified as class 0 are classified as class 0. It is not always classified.
- the monitoring unit 25 executes a match determination between the machine learning model 15 and the inspector model each time the input data prediction (determination) process is executed. Then, the monitoring unit 25 periodically calculates the matching rate.
- the display control unit 26 is a control unit that outputs the calculation result of the matching rate by the monitoring unit 25 to a display device (not shown) such as a monitor. For example, the display control unit 26 displays the change in the matching rate calculated by the monitoring unit 25 at the timing specified by the user.
- FIG. 8 is a diagram for explaining the real-time display of the accuracy state.
- FIG. 8 illustrates the change in the matching rate every hour.
- the display control unit 26 displays the match rate 1 of the class 1 and the match rate 2 of the class 2 every hour, and the reliability is the average value of the match rate 1 and the match rate 2.
- the threshold set by the user is the threshold set by the user.
- the reliability is highest at 10 o'clock, the reliability decreases from 10 o'clock to 12 o'clock, but the reliability is restored after 12 o'clock. That is, it can be judged that the distribution of the input data is different from that at the time of learning between 10 o'clock and 12 o'clock, but the input data has not changed as a whole.
- the timing of calculating the match rate and the display interval of the change in the match rate may be different.
- the monitoring unit 25 calculates the match rate of each class for every 100 data
- the display control unit 26 calculates the average value or the minimum value of the match rate within that time (within one hour) every hour. It can also be displayed.
- the display control unit 26 can also display the match rate for each 100 data calculated by the monitoring unit 25 when the graph of the match rate of each class is selected.
- the notification unit 27 is a processing unit that notifies the user of an alert when the reliability is lowered. For example, when the reliability becomes less than the threshold value specified by the user, the notification unit 27 displays a message or the like indicating that the reliability has deteriorated on the monitor or sends it by e-mail.
- the alert notification conditions can be changed arbitrarily.
- the notification unit 27 indicates that one of the matching rates is less than the threshold value, the reliability below the threshold value is continuously detected, and the number of times the reliability is below the threshold value is equal to or more than the threshold value.
- An alert can be notified at an arbitrarily specified timing.
- FIG. 9 is a flowchart showing the flow of processing according to the first embodiment.
- the inspector model generation unit 21 when the process is started (S101: Yes), the inspector model generation unit 21 generates teacher data for the inspector model by reducing the number of data from the number of data of the machine learning model 15. (S102). Then, the inspector model generation unit 21 executes training for the inspector model using the training data in the generated teacher data to generate the inspector model (S103).
- the setting unit 22 sets the initial value (S104). For example, the setting unit 22 sets a threshold value for determining deterioration and a specified number of data used for calculating the matching rate.
- the deterioration detection unit 23 inputs the input data to the machine learning model 15 to acquire the output result (S105), and inputs the input data to the inspector model to acquire the output result (S106).
- the deterioration detection unit 23 compares the output results, that is, accumulates the match determination result between the output result of the machine learning model 15 and the output result of the inspector model for the input data (S107). Then, S105 and subsequent steps are repeated until the number of accumulated data, the number of processed input data, and the like reach the specified number (S108: No).
- the deterioration detection unit 23 calculates the matching rate between each inspector model and the machine learning model 15 for each class (S109). Then, the display control unit 26 displays the accuracy state including the matching rate and the reliability on the monitor or the like (S110).
- the notification unit 27 notifies the alert (S112). ..
- the matching rate between the output of the trained machine learning model 15 to be monitored and the output of the inspector model is roughly proportional to the correct answer rate of the output of the machine learning model 15.
- the match rate value is used to measure the reliability of the machine learning model 15. In this way, the accuracy deterioration detection device 10 uses the matching rate for the measurement of reliability, so that the correctness information (judgment of human correctness) of the output of the machine learning model 15 becomes unnecessary, and the reliability is automatically monitored. be able to.
- the accuracy deterioration detection device 10 can calculate the match rate for the latest specified number of input data at an arbitrary timing by accumulating the match determination result of each input data. Therefore, the accuracy deterioration detection device 10 can measure and output the reliability of the model in real time.
- FIG. 10 is a diagram illustrating the effect.
- FIG. 10 illustrates a comparison between general monitoring using T 2 statistics and the like and monitoring according to Example 1.
- the calculation, display, comparison, and the like of the T 2 statistic are performed manually, which requires man-hours (cost). Therefore, the reliability can be measured only about once a month. Therefore, for example, if the reliability decreases from May 2, the decrease in reliability cannot be grasped until June 1.
- the accuracy deterioration detection device 10 can notify the user at the moment when the reliability is lowered.
- the image classifier is a machine learning model that classifies input images by class (category). For example, on a mail-order site for apparel or an auction site for buying and selling clothing between individuals, an image of clothing is uploaded to the site and the category of the clothing is registered on the site. In order to automatically register the category of the image uploaded to the site, the machine learning model is used to predict the clothing category from the image. If the tendency (data distribution) of the uploaded clothing image changes during system operation, the accuracy of the machine learning model deteriorates.
- the correctness of the prediction result is manually confirmed, the correct answer rate is calculated, and the deterioration of model accuracy is detected. Therefore, by applying the method according to the first embodiment, the deterioration of the model accuracy is detected without using the correctness information of the prediction result.
- the input data is input to each of the image classifier and the inspector model, and the image is periodically imaged by using the matching rate of the data distribution of the model application area between the image classifier and the inspector model. It is a system that calculates the reliability of the classifier and displays it on the monitor.
- FIG. 11 is a diagram illustrating a specific example of teacher data.
- the teacher data includes a T-shirt with a label of class 0, trousers with a label of class 1, a proover with a label of class 2, a dress with a label of class 3, and a label with class 4.
- Each image data of a certain coat is used.
- image data of sandals having a label of class 5 shirts having a label of class 6, sneakers having a label of class 7, bags having a label of class 8, and ankle boots having a label of class 9 are used.
- the image classifier is a classifier using DNN that classifies 10 classes, and is trained with 1000 teacher data / class and 100 epochs of training times.
- the inspector model is a detector using DNN that classifies 10 classes, and is trained with 200 teacher data per class and 100 epochs of training. That is, the model application area is narrowed in the order of the image classifier and the inspector model.
- the teacher data was randomly selected from the teacher data of the image classifier.
- the threshold value of the match rate of each class is 0.7.
- the input data uses the image (grayscale) of the clothing (any of the 10 classes) as well as the teacher data.
- the input image may be in color.
- Input data matched to the image classifier (machine learning model 15) to be monitored is used.
- the accuracy deterioration detection device 10 inputs the data input to the image classifier to be monitored to the inspector model, executes an output comparison, and compares the results for each output class of the image classifier. Accumulate (matched or unmatched). Then, the accuracy deterioration detection device 10 calculates the matching rate and reliability of each class from the accumulated comparison results (for example, the latest 100 pieces / class) and displays them on the monitor. Then, the accuracy deterioration detection device 10 outputs an alert for accuracy deterioration detection when the reliability is less than the threshold value.
- FIG. 12 is a diagram for explaining the execution result of the accuracy deterioration detection.
- FIG. 12 shows the execution result of the case where only the class 0 (T-shirt) image of the input data is gradually rotated and the tendency is changed.
- the accuracy deterioration detection device 10 notifies the alert when the class 0 match rate (0.61) drops below the threshold value and the reliability of the entire model falls below the threshold value. ..
- the match rate (0.35) of class 0 drops significantly when the data is rotated by 15 degrees, but the accuracy deterioration detection device 10 is a model when the correct answer rate of the image classifier drops slightly.
- the user notification could be executed by detecting the deterioration of the accuracy of the above and displaying it on the monitor.
- the accuracy deterioration detection device 10 can reduce the system operation man-hours required for model reliability monitoring. Further, the accuracy deterioration detection device 10 can measure and monitor the reliability value in real time, and can prevent the system from being used in a state where the reliability of the model is lowered.
- the input data to be judged is not limited to the so-called domain shift, and may change periodically such as time and season.
- the exact match rate is determined by the inspector model, deterioration of model accuracy may be erroneously detected for data whose data distribution changes periodically in this way.
- FIG. 13 is a diagram illustrating erroneous detection of data that changes periodically.
- FIG. 13 shows the distribution of seasonal input data.
- the input data here includes image data captured in each season, sensor values measured in each season, and the like. That is, the data is collected in an imaging environment in which the amount of light and noise differ depending on the season.
- the generated inspector model is a classifier that can correctly classify summer input data.
- an inspector model is applied to autumn data, it can be assumed that the features are different from the summer data, so it is not possible to correctly classify the autumn data, and class 0 and class False positives may be executed at 1.
- the inspector model may not correctly classify winter data, and may perform false positives in each of class 0, class 1, and class 2, and class 0 for spring data as well. Or class 1 may perform false positives.
- the matching rate changes due to the change in the data distribution of the input data, and the deterioration of the model accuracy is detected, so that there is no problem like the periodic change in the data distribution.
- the match rate also changes with changes in the data distribution, and there is a risk of false detection.
- the accuracy deterioration detection device 10 extracts training data within a period obtained by dividing the period by an arbitrary number, generates each inspector model corresponding to each period, and generates one or more inspector models.
- the matching rate of is high, it is not determined that the accuracy deterioration has occurred, and it is determined that the accuracy deterioration has occurred only when the matching rate of all the inspector models decreases.
- the accuracy deterioration detection device 10 according to the second embodiment can automatically detect the accuracy deterioration of the machine learning model in which the distribution of the input data changes periodically.
- FIG. 14 is a functional block diagram showing a functional configuration of the accuracy deterioration detection device 50 according to the second embodiment.
- the accuracy deterioration detection device 50 includes a communication unit 51, a storage unit 52, and a control unit 60.
- the communication unit 51 is a processing unit that controls communication with other devices, such as a communication interface. For example, the communication unit 51 receives various instructions from an administrator terminal or the like. In addition, the communication unit 51 receives input data to be determined (predicted) from various terminals.
- the storage unit 52 is an example of a storage device that stores data, a program executed by the control unit 60, and the like, such as a memory and a hard disk.
- the storage unit 52 stores the teacher data DB 53, the input data DB 54, the machine learning model 55, and the inspector model DB 56.
- the teacher data DB 53, the input data DB 54, the machine learning model 55, and the inspector model DB 56 have the same configurations as the teacher data DB 13, the input data DB 14, the machine learning model 15, and the inspector model DB 16 described in FIG. The explanation will be omitted.
- the control unit 60 is a processing unit that controls the entire accuracy deterioration detection device 50, such as a processor.
- the control unit 60 includes a cycle identification unit 61, an inspector model generation unit 62, a setting unit 63, a deterioration detection unit 64, and a notification unit 65.
- the cycle specifying unit 61, the inspector model generation unit 62, the setting unit 63, the deterioration detection unit 64, and the notification unit 65 are examples of electronic circuits included in the processor and examples of processes executed by the processor.
- the cycle specifying unit 61 confirms the cycle of the distribution change of the input data of the machine learning model 15 to be monitored, extracts the input data within the period obtained by dividing one cycle by the number of inspector models, and trains the training data of each inspector model. It is a processing unit.
- the cycle is not limited to the season, but morning (6:00 to 11:00), noon (12:00 to 15:00), evening (15:00 to 18:00), and night (19:00). Various cycles such as 6:00) can be adopted.
- FIG. 15 is a diagram illustrating learning of the inspector model according to the second embodiment.
- the cycle specifying unit 61 extracts the teacher data captured from June to August from the teacher data stored in the teacher data DB 53, and the teacher captured from September to November. The data is extracted, the teacher data captured from December to February is extracted, and the teacher data captured from March to May is extracted. Then, the period specifying unit 61 stores each extracted data in the storage unit 52 or outputs the extracted data to the inspector model generation unit 62.
- the inspector model generation unit 62 is a processing unit that generates an inspector model that detects model accuracy deterioration for the data distribution at each timing in one cycle in order to correspond to the distribution of input data that changes periodically. is there.
- the inspector model generation unit 62 generated an inspector model (for summer) by supervised learning using teacher data captured from June to August, and imaged from September to November.
- An inspector model (for autumn) is generated by supervised learning using teacher data.
- the inspector model generation unit 62 generates an inspector model (for winter) by supervised learning using teacher data captured from December to February, and uses the teacher data captured from March to May.
- An inspector model (for spring) is generated by the supervised learning.
- the inspector model generation unit 62 stores the learning result (generation result) of each inspector model in the inspector model DB 56.
- the setting unit 63 is a processing unit that sets a threshold value for determining deterioration and a specified number of data used for calculating the matching rate. For example, the setting unit 63 sets each threshold value and the like by the same method as the setting unit 22 described with reference to FIG. 4 of the first embodiment.
- the deterioration detection unit 64 is a processing unit that compares the output result of the machine learning model 15 with respect to the input data and the output result of the inspector model, and detects the deterioration of the accuracy of the machine learning model 15. Specifically, the deterioration detection unit 64 executes the same processing as the classification unit 24 and the monitoring unit 25 of the first embodiment to detect the accuracy deterioration of the machine learning model 15.
- the deterioration detection unit 64 inputs input data to each of the machine learning model 15 and the inspector model, and acquires the output results (classification results) of each, as in the classification unit 24. Then, like the monitoring unit 25, the deterioration detection unit 64 executes a match determination between the output result of the machine learning model 15 and the output result of the inspector model for each input data and stores the data in the storage unit 12 and the like. After that, the deterioration detection unit 64 calculates the matching rate between the machine learning model 15 and each inspector model at a timing specified in advance, and outputs the matching rate to the notification unit 65.
- the notification unit 65 is a processing unit that notifies the user of an alert when the reliability is lowered.
- the notification unit 65 executes a determination of accuracy deterioration based on the matching rate of each inspector model calculated by the deterioration detection unit 64, and notifies an alert when the accuracy deterioration is detected.
- FIG. 16 is a diagram illustrating detection of accuracy deterioration according to the second embodiment.
- the deterioration detection unit 64 compares the output result of the machine learning model 15 with the inspector model (for summer) to calculate the matching rate, and the output result of the machine learning model 15 and the inspector model (autumn). ) And calculate the match rate.
- the deterioration detection unit 64 compares the output result of the machine learning model 15 with the inspector model (for winter) to calculate the matching rate, and sets the output result of the machine learning model 15 and the inspector model (for spring). Calculate the match rate by comparison.
- the notification unit 65 executes the threshold value determination. Since the distribution of the input data changes periodically, even if the matching rate of a specific inspector model decreases, the model accuracy does not necessarily deteriorate. Therefore, the notification unit 65 compares each matching rate with the threshold value, detects the deterioration of accuracy when all the matching rates are less than the threshold value, and notifies the alert.
- FIG. 17 is a flowchart showing the flow of processing according to the second embodiment.
- the cycle specifying unit 61 specifies the cycle of the teacher data (S202) and extracts the teacher data for each cycle (S203).
- the cycle specifying unit 61 extracts the teacher data by dividing it into seasons, time zones, etc. by referring to the date and time when the user designation or the teacher data is captured.
- the inspector model generation unit 62 executes training for the inspector model for each cycle using the training data in the teacher data corresponding to each cycle, and generates each inspector model (S204). Subsequently, the setting unit 63 sets the initial value (S205).
- the deterioration detection unit 64 inputs the input data to the machine learning model 15 to acquire the output result (S206), and inputs the input data to the inspector model to acquire the output result (S207).
- the deterioration detection unit 64 accumulates the match determination result between the output result of the machine learning model 15 and the output result of the inspector model for the input data (S208). Then, S206 and subsequent steps are repeated until the number of accumulated data, the number of processed input data, and the like reach the specified number (S209: No).
- the deterioration detection unit 64 calculates the matching rate between each inspector model and the machine learning model 15 for each class (S210).
- the match rate does not satisfy the detection condition (S211: No)
- S206 and subsequent steps are repeated, and when the match rate satisfies the detection condition (S211: Yes), the notification unit 65 notifies the alert (S212). ..
- the accuracy deterioration detection device 50 confirms the cycle of the distribution change of the input data of the machine learning model 15 to be monitored, and the input data within the period obtained by dividing one cycle by the number of inspector models. Is extracted and used as training data for each inspector model.
- the accuracy deterioration detection device 50 according to the second embodiment uses the inspector model of each period in which the training data is learned for model accuracy deterioration detection, and calculates the matching rate.
- the accuracy deterioration detection device 50 according to the second embodiment does not determine that the accuracy deterioration has occurred when the matching rate of one or more inspector models is high even when the matching rate is lowered, and the matching rate of all the inspector models is determined. It is determined that accuracy deterioration has occurred only after the decrease.
- the accuracy deterioration detection device 50 can automatically detect the accuracy deterioration of the machine learning model in which the distribution of the input data changes periodically, and the distribution of the seasonal data or the like changes periodically. It is possible to prevent false detections in the data to be used.
- FIG. 18 is a diagram illustrating the effect of the second embodiment. As shown in the upper figure of FIG. 18, when the accuracy deterioration is detected using only one inspector model, the summer input data can be correctly classified, but the feature amount is different from the summer data in autumn. , Winter and spring data cannot be correctly classified, and false positives may be executed in class 0 or class 1.
- each inspector model trained with different training data for each season has a different determination area of the feature space, and a model application area suitable for each season is generated by learning.
- the accuracy deterioration detection device 50 according to the second embodiment uses an inspector model suitable for each season, and even if the feature amount of the input data changes slightly due to the influence of the season, the matching rate of any of the inspector models Can be maintained above the threshold. Then, the accuracy deterioration detection device 50 according to the second embodiment re-learns the machine learning model 15 because the matching rate of all the inspector models becomes less than the threshold value when the input data changes significantly regardless of the season. The timing can be detected accurately.
- the machine learning model 15 used as an image classifier is a classifier using DNN that classifies 10 classes, and is trained with 1000 teacher data / class and 100 epochs of training times.
- the inspector model (for summer) is a detector that uses DNN to classify 10 classes, and is trained with 200 teacher data acquired from June to August per class and 100 epochs of training. ing.
- the inspector model (for autumn) is a detector using DNN that classifies 10 classes, and is trained with 200 teacher data acquired from September to November per class and 100 epochs of training. ..
- the inspector model (for winter) is a detector using DNN that classifies 10 classes, and is trained with 200 teacher data acquired from December to February per class and 100 epochs of training. ..
- the inspector model (for spring) is a detector using DNN that classifies 10 classes, and is trained with 200 teacher data acquired from March to May per class and 100 epochs of training. ..
- FIG. 19 is a diagram illustrating a specific example of the second embodiment.
- FIG. 19 shows the detection results in which the tendency of clothing changes according to the season.
- the accuracy deterioration detection device 50 can prevent erroneous detection of data whose distribution changes periodically, such as seasonal data.
- FIG. 20 is a functional block diagram showing a functional configuration of the accuracy deterioration detection device 80 according to the third embodiment.
- the accuracy deterioration detection device 80 includes a communication unit 81, a storage unit 82, and a control unit 90.
- the communication unit 81 is a processing unit that controls communication with other devices, such as a communication interface. For example, the communication unit 81 receives various instructions from an administrator terminal or the like. In addition, the communication unit 81 receives input data to be determined (predicted) from various terminals.
- the storage unit 82 is an example of a storage device that stores data, a program executed by the control unit 90, and the like, such as a memory and a hard disk.
- the storage unit 82 stores the teacher data DB 83, the input data DB 84, the machine learning model 85, and the inspector model DB 86.
- the teacher data DB 83, the input data DB 84, the machine learning model 85, and the inspector model DB 86 have the same configurations as the teacher data DB 13, the input data DB 14, the machine learning model 15, and the inspector model DB 16 described in FIG. The explanation will be omitted.
- the control unit 90 is a processing unit that controls the entire accuracy deterioration detection device 80, such as a processor.
- the control unit 90 includes a first processing unit 91, a cycle determination unit 92, and a second processing unit 93.
- the first processing unit 91, the cycle determination unit 92, and the second processing unit 93 are an example of an electronic circuit included in the processor, an example of a process executed by the processor, and the like.
- the first processing unit 91 executes the same functions as the inspector model generation unit 21, the setting unit 22, the deterioration detection unit 23, the display control unit 26, and the notification unit 27 described in the first embodiment.
- the second processing unit 93 executes the same functions as the cycle specifying unit 61, the inspector model generation unit 62, the setting unit 63, the deterioration detection unit 64, and the notification unit 65 described in the second embodiment.
- the difference from the first and second embodiments is that the cycle determination unit 92 identifies the cycle of the input data based on the result of the first processing unit 91 and notifies the second processing unit 93, and the second processing unit 93 notifies the second processing unit 93. , The point is to perform retraining of each inspector model using the notified period.
- the cycle determination unit 92 refers to the real-time display of the accuracy state every hour displayed by the first processing unit 91. Then, when the period determination unit 92 detects that there is no state in which all the inspector models are below the threshold value at the same time, it determines that the input data has a period.
- the cycle determination unit 92 has the highest accuracy of the inspector model 1 between 7:00 and 10:00, the highest accuracy of the inspector model 2 between 11:00 and 14:00, and the accuracy of the inspector model 3 between 15:00 and 18:00. Best, we identify that the inspector model 4 has the best accuracy between 19:00 and 6:00.
- the cycle determination unit 92 specifies a cycle of 1: 7:00 to 10:00, a cycle of 2:11 to 14:00, a cycle of 3:15 to 18:00, and a cycle of 4:19 to 6:00. Notify the processing unit 93.
- the second processing unit 93 Upon receiving this notification, the second processing unit 93 extracts the teacher data by dividing it into the above four cycles according to the imaging time. Then, the second processing unit 93 relearns the inspector model 1 using the teacher data of the cycle 1, relearns the inspector model 2 using the teacher data of the cycle 2, and uses the teacher data of the cycle 3 to relearn the inspector. The model 3 is relearned, and the inspector model 4 is relearned using the teacher data of the cycle 4. In this way, the period can be automatically specified and an inspector model corresponding to each period can be generated.
- the teacher data to be relearned may be the data used for learning once, the newly collected data, or the input data determined by the machine learning model 15. Further, since the determined input data is data to which no label is attached, the determination result of the machine learning model 15 can be attached as a label.
- the match rate was calculated by focusing on class 0, but each class can also be focused on.
- the monitoring unit 25 after the lapse of time, the monitoring unit 25 has 6 input data belonging to the model application area of class 0 from the machine learning model 15 to be monitored, and 6 in the model application area of class 1. It is acquired that one input data belongs and eight input data belong to the model application area of class 2.
- the monitoring unit 25 has three input data belonging to the model application area of class 0, nine input data belonging to the model application area of class 1, and eight to the model application area of class 2. Gets that two input data belong. In this case, the monitoring unit 25 can detect a decrease in the matching rate for each of the class 0 and the class 1.
- each accuracy deterioration detection device can relearn the machine learning model 15 by using the determination result of the inspector model as correct answer information when the accuracy deterioration is detected. For example, each accuracy deterioration detection device can relearn the machine learning model 15 by generating relearning data using each input data as an explanatory variable and the determination result of the inspector model for each input data as an objective variable. When there are a plurality of inspector models, an inspector model having a low matching rate with the machine learning model 15 can be adopted.
- each component of each device shown in the figure is a functional concept, and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution and integration of each device is not limited to the one shown in the figure. That is, all or a part thereof can be functionally or physically distributed / integrated in any unit according to various loads, usage conditions, and the like.
- a device that executes the machine learning model 15 to classify (determine) input data and a device that detects accuracy deterioration can be realized in separate housings.
- each processing function performed by each device can be realized by a CPU and a program that is analyzed and executed by the CPU, or can be realized as hardware by wired logic.
- FIG. 21 is a diagram illustrating a hardware configuration example.
- the accuracy deterioration detection device 10 of the first embodiment will be described as an example, but the accuracy deterioration detection devices of other examples also have the same hardware configuration.
- the accuracy deterioration detection device 10 includes a communication device 10a, an HDD (Hard Disk Drive) 10b, a memory 10c, and a processor 10d. Further, the parts shown in FIG. 21 are connected to each other by a bus or the like.
- the communication device 10a is a network interface card or the like, and communicates with other devices.
- the HDD 10b stores a program or DB that operates the function shown in FIG.
- the processor 10d reads a program that executes the same processing as each processing unit shown in FIG. 4 from the HDD 10b or the like and expands it in the memory 10c to operate a process that executes each function described in FIG. 4 or the like. For example, this process executes the same function as each processing unit of the accuracy deterioration detection device 10. Specifically, the processor 10d reads a program having the same functions as the inspector model generation unit 21, the setting unit 22, the deterioration detection unit 23, the display control unit 26, the notification unit 27, and the like from the HDD 10b and the like. Then, the processor 10d executes a process of executing the same processing as the inspector model generation unit 21, the setting unit 22, the deterioration detection unit 23, the display control unit 26, the notification unit 27, and the like.
- the accuracy deterioration detection device 10 operates as an information processing device that executes the accuracy deterioration detection determination method by reading and executing the program. Further, the accuracy deterioration detection device 10 can realize the same function as that of the above-described embodiment by reading the program from the recording medium by the medium reading device and executing the read program.
- the program referred to in the other embodiment is not limited to being executed by the accuracy deterioration detection device 10.
- the present invention can be similarly applied when another computer or server executes a program, or when they execute a program in cooperation with each other.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
精度劣化検出装置は、学習済みモデルに対して入力データを入力したときの第一の出力結果を取得し、学習済みモデルの性能劣化を検出する検出モデルに対して、入力データを入力したときの第二の出力結果を取得する。精度劣化検出装置は、第一の期間における、第一の出力結果および第二の出力結果を比較した第一の合致結果を算出する。精度劣化検出装置は、第一の期間と異なる第二の期間における、第一の出力結果および第二の出力結果を比較した第二の合致結果を算出する。精度劣化検出装置は、第一の合致結果および第二の合致結果を用いて、学習済みモデルの精度劣化の変化を出力する。
Description
本発明は、劣化検出方法、劣化検出プログラムおよび情報処理装置に関する。
企業等で利用されている情報システムに対して、データの判定や分類機能などへの機械学習モデル(以下では、単に「モデル」と記載する場合がある)の導入が進んでいる。機械学習モデルは、システム開発時に学習させた教師データの通りに判定や分類を行うので、システム運用中に入力データの傾向(データ分布)が変化すると、機械学習モデルの精度が劣化する。
一般的に、システム運用中のモデル精度劣化検知は、定期的に手動で、モデルの出力結果の正誤を人間が確認することで正解率を算出し、正解率の低下から精度劣化を検知する手法が利用される。
近年では、システム運用中の機械学習モデルの精度劣化を自動で検出する技術として、T2統計量(Hotelling’s T-squre)が知られている。例えば、入力データと正常データ(訓練データ)群を主成分分析し、標準化した各主成分の原点からの距離の二乗の合計である、入力データのT2統計量を算出する。そして、入力データ群のT2統計量の分布に基づき、異常値データの割合の変化を検出して、モデルの精度劣化を自動で検知する。
A. Shabbak and H.Midi,"An Improvement of the Hotelling Statistic in Monitoring Multivariate Quality Characteristics", Mathematical Problems in Engineering (2012) 1-15.
しかしながら、上記技術では、システム運用中のモデルの精度をリアルタイムに監視するためには、手動でT2統計量を算出して確認することになるので、処理負荷が高く、定期的にモニタリングすることは現実的に難しい。
一つの側面では、システム運用中のモデルの精度をリアルタイムに監視することができる劣化検出方法、劣化検出プログラムおよび情報処理装置を提供することを目的とする。
第1の案では、劣化検出方法は、コンピュータが、学習済みモデルに対して入力データを入力したときの第一の出力結果を取得する処理を実行する。劣化検出方法は、コンピュータが、前記学習済みモデルの性能劣化を検出する検出モデルに対して、前記入力データを入力したときの第二の出力結果を取得する処理を実行する。劣化検出方法は、コンピュータが、第一の期間における、前記第一の出力結果および前記第二の出力結果を比較した第一の合致結果を算出する処理を実行する。劣化検出方法は、コンピュータが、前記第一の期間と異なる第二の期間における、前記第一の出力結果および前記第二の出力結果を比較した第二の合致結果を算出する処理を実行する。劣化検出方法は、コンピュータが、前記第一の合致結果および前記第二の合致結果を用いて、前記学習済みモデルの精度劣化の変化を出力する処理を実行する。
一つの側面では、システム運用中のモデルの精度をリアルタイムに監視することができる。
以下に、本発明にかかる劣化検出方法、劣化検出プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
[精度劣化検出装置の説明]
図1は、実施例1にかかる精度劣化検出装置10を説明する図である。図1に示す精度劣化検出装置10は、学習済みの機械学習モデル(以下では、単に「モデル」と記載する場合がある)を用いて入力データの判定(分類)を実行する一方で、機械学習モデルの精度を監視して精度状態をリアルタイムに表示するコンピュータ装置の一例である。
図1は、実施例1にかかる精度劣化検出装置10を説明する図である。図1に示す精度劣化検出装置10は、学習済みの機械学習モデル(以下では、単に「モデル」と記載する場合がある)を用いて入力データの判定(分類)を実行する一方で、機械学習モデルの精度を監視して精度状態をリアルタイムに表示するコンピュータ装置の一例である。
例えば、機械学習モデルは、学習時には、説明変数を画像データ、目的変数を衣料名とする教師データを用いて学習され、運用時には、入力データとして画像データが入力されると、「シャツ」などの判定結果を出力する画像分類器である。つまり、機械学習モデルは、高次元データの分類や多クラス分類を実行する画像分類器の一例である。
ここで、機械学習や深層学習などで学習された機械学習モデルは、訓練データとラベル付けとを組み合わせた教師データを元に学習されるので、教師データが含む範囲でのみ機能する。一方、機械学習モデルは、運用後に、学習時と同種のデータが入力されることが想定されているが、現実には入力されるデータの状態が変化して、機械学習モデルが適切に機能しなくなることがある。すなわち、「モデルの精度劣化」が発生する。
図2は、精度劣化を説明する図である。図2では、入力データの余計なデータを除いて整理した情報であり、機械学習モデルが入力された入力データを分類する、特徴量空間を示している。図2では、クラス0、クラス1、クラス2に分類する特徴量空間を図示している。
図2に示すように、システム運用初期(学習完了時)は、全ての入力データが正常な位置であり、各クラスの決定境界の内側に分類される。その後の時間経過が進むと、クラス0の入力データの分布が変化する。つまり、学習されたクラス0の特徴量では、クラス0と分類することが難しい入力データが入力されはじめる。さらにその後、クラス0の入力データが決定境界を跨ぎ、機械学習モデルの正解率が低下する。つまり、クラス0と分類すべき入力データの特徴量が変化する。
このように、システム運用開始後に、入力データの分布が学習時から変化すると、結果として、機械学習モデルの正解率が低下し、機械学習モデルの精度劣化が発生する。
そこで、図1に示すように、実施例1にかかる精度劣化検出装置10は、監視対象の機械学習モデルと同様の問題を解く、DNN(Deep Neural Network)を用いて生成された少なくとも1つのインスペクターモデル(監視器、以下では単に「インスペクター」と記載する場合がある)を用いる。具体的には、精度劣化検出装置10は、機械学習モデルの出力と各インスペクターモデルの出力との合致率を、機械学習モデルの出力クラスごとに集計することで、合致率の分布変化、すなわち入力データ分布の変化を検出する。
ここで、インスペクターモデルについて説明する。図3は、実施例1にかかるインスペクターモデルを説明する図である。インスペクターモデルは、機械学習モデルとは異なる条件(異なるモデル適用領域(Applicability Domain))で生成される検出モデルの一例である。つまり、インスペクターモデルがクラス0、クラス1、クラス2と判定する各領域(各特徴量)は、機械学習モデルがクラス0、クラス1、クラス2と判定する各領域よりも狭い範囲となるように、インスペクターモデルが生成される。
これは、モデル適用領域が狭いほど、入力データの小さな変化で出力が敏感に変化するためである。そのため、監視対象の機械学習モデルよりもインスペクターモデルのモデル適用領域の狭くすることで、入力データの小さな変化でインスペクターモデルの出力値が変動し、機械学習モデルの出力値との合致率でデータの傾向の変化を測定することができる。
具体的には、図3に示すように、入力データがインスペクターモデルのモデル適用領域の範囲内である場合、当該入力データに対して、機械学習モデルはクラス0と判定し、インスペクターモデルもクラス0と判定する。つまり、両方ともクラス0のモデル適用領域内となり、出力値は必ず合致するので、合致率は低下しない。
一方、入力データがインスペクターモデルのモデル適用領域の範囲外である場合、当該入力データに対して、機械学習モデルはクラス0と判定するが、インスペクターモデルは各クラスのモデル適用範囲外の領域であることから、必ずしもクラス0と判定するとは限らない。つまり、出力値は必ずしも合致しないので、合致率が低下する。
このように、実施例1にかかる精度劣化検出装置10は、機械学習モデルによるクラス判定に並行して、機械学習モデルのモデル適用領域より狭いモデル適用領域を有するように学習されたインスペクターモデルによるクラス判定を実行し、両クラス判定の合致判定結果を蓄積する。そして、精度劣化検出装置10は、モデルの信頼性を示す合致率を算出して、リアルタイムで合致率をモニタ等に表示することで、システム運用中のモデルの精度をリアルタイムに監視することができる。
[精度劣化検出装置の機能構成]
図4は、実施例1にかかる精度劣化検出装置10の機能構成を示す機能ブロック図である。図4に示すように、精度劣化検出装置10は、通信部11、記憶部12、制御部20を有する。
図4は、実施例1にかかる精度劣化検出装置10の機能構成を示す機能ブロック図である。図4に示すように、精度劣化検出装置10は、通信部11、記憶部12、制御部20を有する。
通信部11は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部11は、管理者端末などから各種指示を受信する。また、通信部11は、各種端末から、判定対象の入力データを受信する。
記憶部12は、データや制御部20が実行するプログラムなどを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部12は、教師データDB13、入力データDB14、機械学習モデル15、インスペクターモデルDB16を記憶する。
教師データDB13は、機械学習モデルの学習に利用された教師データであって、インスペクターモデルの学習にも利用される教師データを記憶するデータベースである。図5は、教師データDB13に記憶される情報の例を示す図である。図5に示すように、教師データDB13は、データIDと教師データとを対応付けて記憶する。
ここで記憶されるデータIDは、教師データを識別する識別子である。教師データは、学習に利用される訓練データまたは学習時の検証に利用される検証データである。図5の例では、データIDが「A1」である訓練データXと、データIDが「B1」である検証データYを図示している。なお、訓練データや検証データは、説明変数である画像データと、目的変数である正解情報(ラベル)とが対応付けられたデータである。
入力データDB14は、判定対象の入力データを記憶するデータベースである。具体的には、入力データDB14は、機械学習モデルへ入力される画像データであって、画像分類を行う対象の画像データを記憶する。図6は、入力データDB14に記憶される情報の例を示す図である。図6に示すように、入力データDB14は、データIDと入力データとを対応付けて記憶する。
ここで記憶されるデータIDは、入力データを識別する識別子である。入力データは、分類対象の画像データである。図6の例では、データIDが「01」である入力データ1を図示している。入力データは、予め記憶する必要はなく、他の端末からデータストリームとして送信されてもよい。
機械学習モデル15は、学習された機械学習モデルであり、精度劣化検出装置10による監視対象となるモデルである。なお、学習済みのパラメータが設定されたニューラルネットワークやサポートベクタマシンなどの機械学習モデル15を記憶することもでき、学習済みの機械学習モデル15が構築可能な学習済みのパラメータなどを記憶していてもよい。
インスペクターモデルDB16は、精度劣化検出に利用する少なくとも1つのインスペクターモデルに関する情報を記憶するデータベースである。例えば、インスペクターモデルDB16は、インスペクターモデルを構築するためのパラメータであって、後述する制御部20によって機械学習によって生成(最適化)されたDNNの各種パラメータを記憶する。なお、インスペクターモデルDB16は、学習済みのパラメータを記憶することもでき、学習済みのパラメータが設定されたインスペクターモデルそのもの(DNN)を記憶することもできる。
制御部20は、精度劣化検出装置10全体を司る処理部であり、例えばプロセッサなどである。この制御部20は、インスペクターモデル生成部21、設定部22、劣化検出部23、表示制御部26、報知部27を有する。なお、インスペクターモデル生成部21、設定部22、劣化検出部23、表示制御部26、報知部27は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例などである。
インスペクターモデル生成部21は、機械学習モデル15の精度劣化を検出する監視器や検出モデルの一例であるインスペクターモデルを生成する処理部である。具体的には、インスペクターモデル生成部21は、機械学習モデル15の学習に利用された教師データを用いた深層学習により、モデル適用範囲の異なるインスペクターモデルを生成する。そして、インスペクターモデル生成部21は、深層学習によって得られた、モデル適用範囲が異なるインスペクターモデル(DNN)を構築するための各種パラメータをインスペクターモデルDB16に格納する。
例えば、インスペクターモデル生成部21は、訓練データの数を制御することで、適用範囲の異なる複数のインスペクターモデルを生成する。一般的には、訓練データの数が多いほど、多くの特徴量を多く学習することになるので、より網羅的な学習が実行され、モデル適用範囲が広いモデルが生成される。一方で、訓練データの数が少ないほど、学習する教師データの特徴量が少ないので、網羅できる範囲(特徴量)が限定的になり、モデル適用範囲が狭いモデルが生成される。
なお、実施例1では、1つのインスペクターモデルを用いる例で説明するが、インスペクターモデル生成部21は、訓練回数は同じにして、訓練データの数を変更することで、複数のインスペクターモデルを生成することもできる。例えば、機械学習モデル15が訓練回数(100エポック)、訓練データ数(1000個/1クラス)で学習された状態で、5つのインスペクターモデルを生成する場合を考える。この場合、インスペクターモデル生成部21は、インスペクターモデル1の訓練データ数を「500個/1クラス」、インスペクターモデル2の訓練データ数を「400個/1クラス」、インスペクターモデル3の訓練データ数を「300個/1クラス」、インスペクターモデル4の訓練データ数を「200個/1クラス」、インスペクターモデル5の訓練データ数を「100個/1クラス」と決定し、教師データDB13から教師データを無作為に選択して、それぞれを100エポックで学習する。
その後、インスペクターモデル生成部21は、学習されたインスペクターモデル1、2、3、4、5それぞれの各種パラメータをインスペクターモデルDB16に格納する。このようにして、インスペクターモデル生成部21は、機械学習モデル15の適用範囲よりも狭いモデル適用範囲を有するとともに、それぞれのモデル適用範囲が異なる5つのインスペクターモデルを生成することができる。
なお、インスペクターモデル生成部21は、誤差逆伝搬などの手法を用いて、各インスペクターモデルを学習することができ、他の手法を採用することもできる。例えば、インスペクターモデル生成部は、訓練データをインスペクターモデルに入力して得られる出力結果と、入力された訓練データのラベルとの誤差が小さくなるように、DNNのパラメータを更新することで、インスペクターモデル(DNN)の学習を実行する。
設定部22は、劣化判定のための閾値、合致率算出に用いるデータの規定数の設定を実行する処理部である。例えば、設定部22は、記憶部12から機械学習モデル15を読み出すとともに、インスペクターモデルDB16から各種パラメータを読み出して学習済みのインスペクターモデルを構築する。そして、設定部22は、教師データDB13に記憶される各検証データを読み出して、機械学習モデル15とインスペクターモデルに入力して、それぞれの出力結果(分類結果)に基づくモデル適用領域への分布結果を取得する。
その後、設定部22は、検証データに対する機械学習モデル15とインスペクターモデル1と間の各クラスの合致率を算出する。そして、設定部22は、合致率を用いて閾値を設定する。例えば、設定部22は、合致率をディスプレイ等に表示して、ユーザから閾値の設定を受け付ける。また、複数のインスペクターモデルを用いる場合には、設定部22は、各合致率の平均値、各合致率の最大値、各合致率の最小値など、ユーザが検出を要求する劣化状態に応じて、任意に選択して設定することができる。
また、設定部22は、設定画面などを表示して合致率算出の規定数の指定を受け付ける。例えば、100と設定された場合、100個の入力データに対する合致判定が完了後、合致率の算出が実行される。また、データ数に限らず、1時間や1か月ごとのように間隔を指定することもでき、この場合、設定された間隔おきに合致率の算出や合致率等の算出が実行される。
なお、合致率算出に利用する入力データ数(規定数)は、ユーザが任意に定めることができる。規定数が多いほど、信頼性の誤差は小さくなるが、算出に必要なデータ数が大きくなる。
図4に戻り、劣化検出部23は、分類部24、監視部25を有し、入力データに対する機械学習モデル15の出力結果とインスペクターモデルの出力結果とを比較し、機械学習モデル15の精度の劣化を検出する処理部である。
分類部24は、入力データを機械学習モデル15とインスペクターモデルとのそれぞれに入力して、それぞれの出力結果(分類結果)を取得する処理部である。例えば、分類部24は、インスペクターモデルの学習が完了すると、インスペクターモデルのパラメータをインスペクターモデルDB16から取得してインスペクターモデルを構築するとともに、機械学習モデル15を実行する。
そして、分類部24は、入力データを機械学習モデル15に入力してその出力結果を取得するとともに、当該入力データをインスペクターモデル(DNN)に入力して各出力結果を取得する。その後、分類部24は、入力データと各出力結果とを対応付けて記憶部12に格納するとともに、監視部25に出力する。
監視部25は、インスペクターモデルの出力結果を用いて、機械学習モデル15の精度劣化を監視する処理部である。具体的には、監視部25は、クラスごとに、機械学習モデル15の出力と、インスペクターモデルの出力との合致率の分布変化を測定する。例えば、監視部25は、各入力データに対する機械学習モデル15の出力結果とインスペクターモデルの出力結果との合致判定を実行して記憶部12等に蓄積する。
そして、監視部25は、設定部22により設定された間隔で、機械学習モデル15の出力とインスペクターモデルの出力との合致判定結果を用いて、インスペクターモデルごとまたはクラスごとの合致率を算出する。例えば、監視部25は、設定値が100データの場合、100個の入力データの合致判定が完了すると、合致率の算出を実行する。また、監視部25は、設定値が1時間の場合、1時間おきに合致率の算出を実行する。その後、監視部25は、合致判定結果を記憶部12に格納したり、表示制御部26に出力したりする。
図7は、精度劣化の検出を説明する図である。図7では、入力データに対する監視対象の機械学習モデル15の出力結果とインスペクターモデルの出力結果とを図示している。ここでは、説明を分かりやすくするため、特徴量空間におけるモデル適用領域へのデータ分布を用いて、監視対象の機械学習モデル15の出力に対してインスペクターモデルの出力が合致する確率を説明する。
図7に示すように、監視部25は、運用開始時、監視対象の機械学習モデル15から、クラス0のモデル適用領域には6つの入力データが属し、クラス1のモデル適用領域には6つの入力データが属し、クラス2のモデル適用領域には8つの入力データが属することを取得する。一方、監視部25は、インスペクターモデルから、クラス0のモデル適用領域には6つの入力データが属し、クラス1のモデル適用領域には6つの入力データが属し、クラス2のモデル適用領域には8つの入力データが属することを取得する。
つまり、監視部25は、機械学習モデル15とインスペクターモデルとの各クラスの合致率が一致することから合致率を100%と算出する。このタイミングでは、それぞれの分類結果が一致する。
時間経過が進むと、監視部25は、監視対象の機械学習モデル15から、クラス0のモデル適用領域には6つの入力データが属し、クラス1のモデル適用領域には6つの入力データが属し、クラス2のモデル適用領域には8つの入力データが属することを取得する。一方、監視部25は、インスペクターモデルから、クラス0のモデル適用領域には3つの入力データが属し、クラス1のモデル適用領域には6つの入力データが属し、クラス2のモデル適用領域には8つの入力データが属することを取得する。
つまり、監視部25は、クラス0については合致率を50%((3/6)×100)と算出し、クラス1とクラス2については合致率を100%と算出する。すなわち、クラス0のデータ分布の変化が検出される。このタイミングでは、インスペクターモデルは、クラス0に分類されなかった3つの入力データに対して、クラス0に分類するとは限らない状態である。
さらに時間経過が進むと、監視部25は、監視対象の機械学習モデル15から、クラス0のモデル適用領域には3つの入力データが属し、クラス1のモデル適用領域には6つの入力データが属し、クラス2のモデル適用領域には8つの入力データが属することを取得する。一方、監視部25は、インスペクターモデルから、クラス0のモデル適用領域には1つの入力データが属し、クラス1のモデル適用領域には6つの入力データが属し、クラス2のモデル適用領域には8つの入力データが属することを取得する。
つまり、監視部25は、クラス0については合致率を33%((1/3)×100)と算出し、クラス1とクラス2については合致率を100%と算出する。すなわち、クラス0のデータ分布が変化したと判定される。このタイミングでは、機械学習モデル15では、クラス0と分類されるべき入力データがクラス0と分類されず、インスペクターモデルでは、クラス0に分類されなかった5つの入力データに対しては、クラス0に分類されるとは限らない状態である。
このように、監視部25は、入力データの予測(判定)処理が実行されるたびに、機械学習モデル15とインスペクターモデルとの合致判定を実行する。そして、監視部25は、定期的に合致率を算出する。
図4に戻り、表示制御部26は、監視部25による合致率の算出結果をモニタ等の表示装置(図示しない)に出力する制御部である。例えば、表示制御部26は、ユーザにより指定されたタイミングで、監視部25により算出された合致率の変化を表示する。
図8は、精度状態のリアルタイム表示を説明する図である。図8では、1時間おきの合致率の変化を図示している。図8に示すように、表示制御部26は、1時間おきに、クラス1の合致率1、クラス2の合致率2を表示するとともに、合致率1と合致率2の平均値である信頼性およびユーザにより設定された閾値を表示する。
図8の例では、10時の時点で最も信頼性が高く、10時から12時まで信頼性が低下するが、12時以降は信頼性が回復している例を示している。つまり、10時か12時までの間では入力データの分布が学習時とは異なりつつあったが、全体としては、入力データが変化していないと判断することができる。
なお、合致率の算出タイミングと合致率の変化の表示間隔(図8に示す横軸)とは異なっていてもよい。例えば、監視部25は、100データごとに各クラスの合致率を算出し、表示制御部26は、1時間おきに、その時間内(1時間内)の合致率の平均値や最小値などを表示することもできる。この場合、表示制御部26は、各クラスの合致率のグラフが選択されると、監視部25により算出された100データごとの合致率を表示することもできる。
図4に戻り、報知部27は、信頼性が低下した場合に、ユーザにアラートを報知する処理部である。例えば、報知部27は、信頼性がユーザにより指定された閾値未満となった場合に、信頼性が低下したことを示すメッセージなどをモニタに表示したり、メールで送信したりする。
なお、アラートの報知条件は任意に設定変更することができる。例えば、報知部27は、合致率のいずれかが閾値未満となった場合、閾値未満の信頼性が連続して検出された場合、信頼性が閾値未満となった回数が閾値以上となった場合など、任意に指定したタイミングで、アラートを報知することができる。
[処理の流れ]
図9は、実施例1にかかる処理の流れを示すフローチャートである。図9に示すように、処理が開始されると(S101:Yes)、インスペクターモデル生成部21は、機械学習モデル15のデータ数よりもデータ数を削減するなどによりインスペクターモデル用の教師データを生成する(S102)。そして、インスペクターモデル生成部21は、生成した教師データ内の訓練データを用いて、インスペクターモデル用の訓練を実行して、インスペクターモデルを生成する(S103)。
図9は、実施例1にかかる処理の流れを示すフローチャートである。図9に示すように、処理が開始されると(S101:Yes)、インスペクターモデル生成部21は、機械学習モデル15のデータ数よりもデータ数を削減するなどによりインスペクターモデル用の教師データを生成する(S102)。そして、インスペクターモデル生成部21は、生成した教師データ内の訓練データを用いて、インスペクターモデル用の訓練を実行して、インスペクターモデルを生成する(S103)。
続いて、設定部22は、初期値を設定する(S104)。例えば、設定部22は、劣化判定のための閾値、合致率算出に用いるデータの規定数の設定を行う。
その後、劣化検出部23は、入力データを機械学習モデル15に入力して出力結果を取得し(S105)、入力データをインスペクターモデルに入力して出力結果を取得する(S106)。
そして、劣化検出部23は、出力結果の比較、すなわち入力データに対する機械学習モデル15の出力結果とインスペクターモデルの出力結果との合致判定結果を蓄積する(S107)。そして、蓄積数や処理された入力データ数などが規定数に到達するまで(S108:No)、S105以降を繰り返す。
その後、劣化検出部23は、処理数などが規定数に到達すると(S108:Yes)、クラスごとに各インスペクターモデルと機械学習モデル15との合致率を算出する(S109)。そして、表示制御部26は、合致率や信頼性を含む精度状態をモニタ等に表示する(S110)。
ここで、信頼性が検出条件を満たさない場合(S111:No)、S105以降が繰り返され、信頼性が検出条件を満たす場合(S111:Yes)、報知部27は、アラートを報知する(S112)。
[効果]
上述したように、精度劣化検出装置10は、監視対象の学習済みの機械学習モデル15の出力とインスペクターモデルの出力との合致率が、機械学習モデル15の出力の正解率に概ね比例するので、機械学習モデル15の信頼性の測定に合致率の値を用いる。このように、精度劣化検出装置10は、合致率を信頼性の測定に用いることで、機械学習モデル15の出力の正誤情報(人間の正誤の判断)が不要となり、自動で信頼性をモニタリングすることができる。
上述したように、精度劣化検出装置10は、監視対象の学習済みの機械学習モデル15の出力とインスペクターモデルの出力との合致率が、機械学習モデル15の出力の正解率に概ね比例するので、機械学習モデル15の信頼性の測定に合致率の値を用いる。このように、精度劣化検出装置10は、合致率を信頼性の測定に用いることで、機械学習モデル15の出力の正誤情報(人間の正誤の判断)が不要となり、自動で信頼性をモニタリングすることができる。
また、精度劣化検出装置10は、各入力データの合致判定結果を蓄積しておくことで、任意のタイミングで直近の規定数の入力データに対する合致率を算出することができる。そのため、精度劣化検出装置10は、リアルタイムでモデルの信頼性を測定して出力することができる。
図10は、効果を説明する図である。図10には、T2統計量などを用いた一般的なモニタリングと、実施例1によるモニタリングとの比較を図示している。図10に示すように、一般技術では、T2統計量の計算、表示、比較などを人手により行うので、工数(コスト)がかかる。このため、月に1回程度しか信頼性を測定できない。したがって、例えば5月2日から信頼性が低下した場合、6月1日まで信頼性低下を把握できない。
一方、実施例の手法では、上述したようにより自動で合致率の算出、信頼性の表示を実行することができるので、リアルタイムで信頼性を測定できる。このため、精度劣化検出装置10は、信頼性が低下した瞬間にユーザに報知することができる。
[具体例]
次に、機械学習モデル15として画像分類器を用いて、インスペクターモデルによる精度劣化を検出する具体例を説明する。画像分類器とは、入力した画像をクラス(カテゴリ)ごとに分類する機械学習モデルである。例えば、アパレルの通信販売サイトや個人間で衣料品を売買するオークションサイト等では、衣料品の画像をサイトにアップロードし、その衣料品のカテゴリをサイト上に登録する。サイトにアップロードした画像のカテゴリの自動登録を行うために、機械学習モデルを用いて、画像から衣料品のカテゴリの予測を行っている。システム運用中に、アップロードする衣料品の画像の傾向(データ分布)が変化すると、機械学習モデルの精度が劣化していく。一般技術では、手動で予測結果の正誤を確認し、正解率を算出して、モデル精度劣化を検知していた。そこで、実施例1による手法を適用することで、予測結果の正誤情報を用いることなく、モデル精度劣化を検知する。
次に、機械学習モデル15として画像分類器を用いて、インスペクターモデルによる精度劣化を検出する具体例を説明する。画像分類器とは、入力した画像をクラス(カテゴリ)ごとに分類する機械学習モデルである。例えば、アパレルの通信販売サイトや個人間で衣料品を売買するオークションサイト等では、衣料品の画像をサイトにアップロードし、その衣料品のカテゴリをサイト上に登録する。サイトにアップロードした画像のカテゴリの自動登録を行うために、機械学習モデルを用いて、画像から衣料品のカテゴリの予測を行っている。システム運用中に、アップロードする衣料品の画像の傾向(データ分布)が変化すると、機械学習モデルの精度が劣化していく。一般技術では、手動で予測結果の正誤を確認し、正解率を算出して、モデル精度劣化を検知していた。そこで、実施例1による手法を適用することで、予測結果の正誤情報を用いることなく、モデル精度劣化を検知する。
例えば、具体例で示すシステムは、入力データを画像分類器とインスペクターモデルのそれぞれに入力し、画像分類器とインスペクターモデルとのモデル適用領域のデータ分布の合致率を用いて、定期的に、画像分類器の信頼性を算出してモニタに表示するシステムである。
次に、教師データを説明する。図11は、教師データの具体例を説明する図である。図11に示すように、教師データは、ラベルがクラス0であるT-シャツ、ラベルがクラス1であるズボン、ラベルがクラス2であるプロオーバー、ラベルがクラス3ではドレス、ラベルがクラス4であるコートの各画像データを用いる。また、ラベルがクラス5であるサンダル、ラベルがクラス6であるシャツ、ラベルがクラス7であるスニーカー、ラベルがクラス8ではバッグ、ラベルがクラス9であるアンクルブーツの各画像データを用いる。
ここで、画像分類器は、10クラス分類を行うDNNを用いた分類器であり、教師データを1000個/1クラス、訓練回数を100エポックとして訓練されている。また、インスペクターモデルは、10クラス分類を行うDNNを用いた検出器であり、教師データを200個/1クラス、訓練回数を100エポックとして訓練されている。つまり、モデル適用領域は、画像分類器、インスペクターモデルの順に狭くなっている。なお、教師データは、画像分類器の教師データの中から無作為に選択した。また、各クラスの合致率の閾値は、0.7とする。
このような状態において、入力データは、教師データ同様、衣料品(10クラスのいずれか)の画像(グレースケール)を利用する。なお、入力画像はカラーでも良い。監視対象の画像分類器(機械学習モデル15)に合わせた入力データを用いる。
このような状態において、精度劣化検出装置10は、監視対象の画像分類器に入力したデータを、インスペクターモデルに入力して、出力の比較を実行し、画像分類器の出力クラスごとに、比較結果(合致または非合致)を蓄積する。そして、精度劣化検出装置10は、蓄積している比較結果(例えば、直近100個/クラス)から、各クラスの合致率および信頼性を算出して、モニタに表示する。そして、精度劣化検出装置10は、信頼性が閾値未満の場合、精度劣化検知のアラートを出力する。
図12は、精度劣化検出の実行結果を説明する図である。図12には、入力データのうち、クラス0(T-シャツ)の画像のみ、徐々に画像が回転していき、傾向が変化したケースの実行結果を示している。精度劣化検出装置10は、クラス0のデータが10度回転した時点で、クラス0の合致率(0.61)が閾値未満に低下し、モデル全体の信頼性が閾値を下回り、アラートを通知した。なお、データが15度回転した時点で、クラス0の合致率(0.35)が非常に低下するが、精度劣化検出装置10は、画像分類器の正解率がわずかに下がった段階で、モデルの精度劣化を検出してモニタに表示することで、ユーザ通知を実行できた。
この結果、精度劣化検出装置10は、モデルの信頼性モニタリングに必要だったシステム運用工数を削減できる。また、精度劣化検出装置10は、リアルタイムで信頼性の値を測定してモニタリングでき、モデルの信頼性が低下した状態でのシステム利用を防止できる。
ところで、判定(予測)対象の入力データは、いわゆるドメインシフトに限らず、時間や季節などにように周期的に変化することもある。上記インスペクターモデルによる厳密な合致率の判定を行った場合、このように周期的にデータ分布が変化するデータに対しては、モデル精度劣化を誤検知してしまう恐れがある。
図13は、周期的に変化するデータの誤検出を説明する図である。図13には、季節性のある入力データの分布を示している。ここでの入力データとしては、各季節で撮像された画像データや各季節で測定されたセンサ値などである。つまり、季節ごとに、光量やノイズなどが異なる撮像環境で収集されたデータである。
図13に示すように、生成したインスペクターモデルは、夏の入力データに対しては、正しくクラス分類できる分類器である。このようなインスペクターモデルを秋のデータに対して適用した場合、夏のデータとは特徴量が異なることが想定できるので、秋のデータに対しては正しくクラス分類を実行できず、クラス0やクラス1で誤検出を実行する場合がある。
また、冬のデータに対しても、インスペクターモデルは、正しくクラス分類を実行できず、クラス0、クラス1、クラス2のそれぞれで誤検出を実行する場合があり、春のデータに対してもクラス0やクラス1で誤検出を実行する場合がある。
このように、実施例1にかかるインスペクターモデルでは、入力データのデータ分布の変化によって合致率が変化し、モデル精度劣化を検知しているので、周期的なデータ分布の変化のように問題のないデータ分布の変化に対しても合致率が変化してしまい、誤検知する恐れがある。
そこで、実施例2にかかる精度劣化検出装置10は、周期を任意の数で分割した期間内の訓練データを抽出して、各期間に対応した各インスペクターモデルを生成し、1個以上のインスペクターモデルの合致率が高い場合は、精度劣化発生と判定せず、全てのインスペクターモデルの合致率が低下して、初めて精度劣化発生と判定する。このようにすることで、実施例2にかかる精度劣化検出装置10は、入力データの分布が周期的に変化する機械学習モデルの精度劣化を自動で検知することができる。
[精度劣化検出装置50の機能構成]
図14は、実施例2にかかる精度劣化検出装置50の機能構成を示す機能ブロック図である。図14に示すように、精度劣化検出装置50は、通信部51、記憶部52、制御部60を有する。
図14は、実施例2にかかる精度劣化検出装置50の機能構成を示す機能ブロック図である。図14に示すように、精度劣化検出装置50は、通信部51、記憶部52、制御部60を有する。
通信部51は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部51は、管理者端末などから各種指示を受信する。また、通信部51は、各種端末から、判定(予測)対象の入力データを受信する。
記憶部52は、データや制御部60が実行するプログラムなどを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部52は、教師データDB53、入力データDB54、機械学習モデル55、インスペクターモデルDB56を記憶する。なお、教師データDB53、入力データDB54、機械学習モデル55、インスペクターモデルDB56は、図4で説明した教師データDB13、入力データDB14、機械学習モデル15、インスペクターモデルDB16と同様の構成を有するので、詳細な説明は省略する。
制御部60は、精度劣化検出装置50全体を司る処理部であり、例えばプロセッサなどである。この制御部60は、周期特定部61、インスペクターモデル生成部62、設定部63、劣化検出部64、報知部65を有する。なお、周期特定部61、インスペクターモデル生成部62、設定部63、劣化検出部64、報知部65は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例などである。
周期特定部61は、監視対象の機械学習モデル15の入力データの分布変化の周期を確認し、1周期をインスペクターモデルの数で分割した期間内の入力データを抽出し、各インスペクターモデルの訓練データとする処理部である。例えば、周期としては、季節に限らず、朝(6:00から11:00)、昼(12:00から15:00)、夕方(15:00から18:00)、夜(19:00から6:00)など、様々な周期を採用することができる。
ここでは、季節を例にして説明する。図15は、実施例2にかかるインスペクターモデルの学習を説明する図である。図15に示すように、周期特定部61は、教師データDB53に格納される教師データのうち、6月から8月に撮像された教師データを抽出し、9月から11月に撮像された教師データを抽出し、12月から2月に撮像された教師データを抽出し、3月から5月に撮像された教師データを抽出する。そして、周期特定部61は、抽出した各データを記憶部52に格納したり、インスペクターモデル生成部62に出力したりする。
インスペクターモデル生成部62は、周期的に変化する入力データの分布に対応させるために、1周期内のそれぞれのタイミングにおいてのデータ分布に対してモデル精度劣化検知を行うインスペクターモデルを生成する処理部である。
上記例で説明すると、インスペクターモデル生成部62は、6月から8月に撮像された教師データを用いた教師有学習により、インスペクターモデル(夏用)生成し、9月から11月に撮像された教師データを用いた教師有学習により、インスペクターモデル(秋用)生成する。また、インスペクターモデル生成部62は、12月から2月に撮像された教師データを用いた教師有学習により、インスペクターモデル(冬用)生成し、3月から5月に撮像された教師データを用いた教師有学習により、インスペクターモデル(春用)生成する。なお、インスペクターモデル生成部62は、各インスペクターモデルの学習結果(生成結果)をインスペクターモデルDB56に格納する。
設定部63は、劣化判定のための閾値、合致率算出に用いるデータの規定数の設定を実行する処理部である。例えば、設定部63は、実施例1の図4で説明した設定部22と同様の手法により、各閾値等を設定する。
劣化検出部64は、入力データに対する機械学習モデル15の出力結果とインスペクターモデルの出力結果とを比較し、機械学習モデル15の精度の劣化を検出する処理部である。具体的には、劣化検出部64は、実施例1の分類部24と監視部25と同様の処理を実行して、機械学習モデル15の精度劣化を検出する。
例えば、劣化検出部64は、分類部24と同様、入力データを機械学習モデル15とインスペクターモデルとのそれぞれに入力して、それぞれの出力結果(分類結果)を取得する。そして、劣化検出部64は、監視部25と同様、各入力データに対する機械学習モデル15の出力結果とインスペクターモデルの出力結果との合致判定を実行して記憶部12等に蓄積する。その後、劣化検出部64は、予め指定したタイミングで、機械学習モデル15と各インスペクターモデルの合致率を算出して、報知部65に出力する。
報知部65は、実施例1と同様、信頼性が低下した場合に、ユーザにアラートを報知する処理部である。例えば、報知部65は、劣化検出部64により算出された各インスペクターモデルの合致率に基づく精度劣化の判定を実行し、精度劣化を検出した場合にアラートを報知する。
図16は、実施例2にかかる精度劣化の検出を説明する図である。図16に示すように、劣化検出部64は、機械学習モデル15の出力結果とインスペクターモデル(夏用)とを比較して合致率を算出し、機械学習モデル15の出力結果とインスペクターモデル(秋用)とを比較して合致率を算出する。同様に、劣化検出部64は、機械学習モデル15の出力結果とインスペクターモデル(冬用)とを比較して合致率を算出し、機械学習モデル15の出力結果とインスペクターモデル(春用)とを比較して合致率を算出する。
そして、報知部65は、閾値判定を実行する。周期的に入力データの分布が変化するため、特定のインスペクターモデルの合致率が低下した場合でも、モデル精度劣化が発生したとは限らない。そこで、報知部65は、各合致率と閾値とを比較し、すべての合致率が閾値未満の場合に、精度劣化を検出し、アラートを報知する。
[処理の流れ]
図17は、実施例2にかかる処理の流れを示すフローチャートである。図17に示すように、処理が開始されると(S201:Yes)、周期特定部61は、教師データの周期を特定し(S202)、周期ごとの教師データを抽出する(S203)。例えば、周期特定部61は、ユーザ指定や教師データが撮像された日時を参照することで、季節や時間帯などに区分して教師データを抽出する。
図17は、実施例2にかかる処理の流れを示すフローチャートである。図17に示すように、処理が開始されると(S201:Yes)、周期特定部61は、教師データの周期を特定し(S202)、周期ごとの教師データを抽出する(S203)。例えば、周期特定部61は、ユーザ指定や教師データが撮像された日時を参照することで、季節や時間帯などに区分して教師データを抽出する。
続いて、インスペクターモデル生成部62は、各周期に対応する教師データ内の訓練データを用いて、各周期用のインスペクターモデル用の訓練を実行して、各インスペクターモデルを生成する(S204)。続いて、設定部63は、初期値を設定する(S205)。
その後、劣化検出部64は、入力データを機械学習モデル15に入力して出力結果を取得し(S206)、入力データをインスペクターモデルに入力して出力結果を取得する(S207)。
そして、劣化検出部64は、入力データに対する機械学習モデル15の出力結果とインスペクターモデルの出力結果との合致判定結果を蓄積する(S208)。そして、蓄積数や処理された入力データ数などが規定数に到達するまで(S209:No)、S206以降を繰り返す。
その後、劣化検出部64は、処理数などが規定数に到達すると(S209:Yes)、クラスごとに各インスペクターモデルと機械学習モデル15との合致率を算出する(S210)。ここで、合致率が検出条件を満たさない場合(S211:No)、S206以降が繰り返され、合致率が検出条件を満たす場合(S211:Yes)、報知部65は、アラートを報知する(S212)。
[効果]
上述したように、実施例2にかかる精度劣化検出装置50は、監視対象の機械学習モデル15の入力データの分布変化の周期を確認し、1周期をインスペクターモデル数で分割した期間内の入力データを抽出し、各インスペクターモデルの訓練データとする。実施例2にかかる精度劣化検出装置50は、上記訓練データを学習した各期間のインスペクターモデルをモデル精度劣化検知に利用し、合致率を算出する。実施例2にかかる精度劣化検出装置50は、合致率が低下した場合でも、1個以上のインスペクターモデルの合致率が高い場合は、精度劣化発生と判定せず、全てのインスペクターモデルの合致率が低下して、初めて精度劣化発生と判定する。
上述したように、実施例2にかかる精度劣化検出装置50は、監視対象の機械学習モデル15の入力データの分布変化の周期を確認し、1周期をインスペクターモデル数で分割した期間内の入力データを抽出し、各インスペクターモデルの訓練データとする。実施例2にかかる精度劣化検出装置50は、上記訓練データを学習した各期間のインスペクターモデルをモデル精度劣化検知に利用し、合致率を算出する。実施例2にかかる精度劣化検出装置50は、合致率が低下した場合でも、1個以上のインスペクターモデルの合致率が高い場合は、精度劣化発生と判定せず、全てのインスペクターモデルの合致率が低下して、初めて精度劣化発生と判定する。
この結果、実施例2にかかる精度劣化検出装置50は、入力データの分布が周期的に変化する機械学習モデルの精度劣化を自動で検出でき、季節性のあるデータ等の周期的に分布が変化するデータでの誤検知を防止できる。
図18は、実施例2の効果を説明する図である。図18の上図に示すように、1つのインスペクターモデルのみを用いて精度劣化を検出する場合、夏の入力データに対しては、正しくクラス分類できるが、夏のデータとは特徴量が異なる秋、冬、春の各データに対しては正しくクラス分類を実行できず、クラス0やクラス1で誤検出を実行する場合がある。
一方、図18の下図に示すように、季節ごとに異なる訓練データで学習させた各インスペクターモデルは、特徴量空間の決定領域が異なっており、各季節に適したモデル適用領域が学習により生成される。したがって、実施例2にかかる精度劣化検出装置50は、各季節に適したインスペクターモデルを用いることで、季節の影響によって入力データの特徴量が少し変化したとしても、いずれかのインスペクターモデルの合致率を閾値以上で維持することができる。そして、実施例2にかかる精度劣化検出装置50は、入力データが季節に関係なく大きく変化した場合には、すべてのインスペクターモデルの合致率を閾値未満となるので、機械学習モデル15の再学習のタイミングを正確に検出することができる。
[具体例]
次に、実施例2の具体例を説明する。画像分類器として利用する機械学習モデル15は、10クラス分類を行うDNNを用いた分類器であり、教師データを1000個/1クラス、訓練回数を100エポックとして訓練されている。また、インスペクターモデル(夏用)は、10クラス分類を行うDNNを用いた検出器であり、6月から8月に取得された教師データを200個/1クラス、訓練回数を100エポックとして訓練されている。
次に、実施例2の具体例を説明する。画像分類器として利用する機械学習モデル15は、10クラス分類を行うDNNを用いた分類器であり、教師データを1000個/1クラス、訓練回数を100エポックとして訓練されている。また、インスペクターモデル(夏用)は、10クラス分類を行うDNNを用いた検出器であり、6月から8月に取得された教師データを200個/1クラス、訓練回数を100エポックとして訓練されている。
インスペクターモデル(秋用)は、10クラス分類を行うDNNを用いた検出器であり、9月から11月に取得された教師データを200個/1クラス、訓練回数を100エポックとして訓練されている。インスペクターモデル(冬用)は、10クラス分類を行うDNNを用いた検出器であり、12月から2月に取得された教師データを200個/1クラス、訓練回数を100エポックとして訓練されている。インスペクターモデル(春用)は、10クラス分類を行うDNNを用いた検出器であり、3月から5月に取得された教師データを200個/1クラス、訓練回数を100エポックとして訓練されている。
このような条件において、実施例1と同様の画像分類を実行する。季節に対応したインスペクターモデルを用いたときに、入力データに季節性の変化のみが発生した場合の合致率の変化と、入力データに季節性以外の変化が発生した場合の合致率の変化とを比較する。図19は、実施例2の具体例を説明する図である。図19では、季節に応じて、衣料品の傾向が変化した検出結果である。
図19に示すように、季節性の変化のみの場合は、各季節において全てのインスペクターモデルの合致率が閾値を同時に下回ることはなく、誤検知を抑制することができた。一方、季節性以外の変化の場合は、冬の入力データに対して全てのインスペクターモデルの合致率が閾値を同時に下回り、正しく精度劣化を検出した。したがって、精度劣化検出装置50は、季節性のあるデータ等の周期的に分布が変化するデータでの誤検出を防止できる。
ところで、実施例2では、季節性など周期が予め既知である場合に、各周期のデータを抽出して、各周期に対応するインスペクターモデルを生成する例を説明したが、実施例1の手法を用いてデータの周期を特定することができる。
図20は、実施例3にかかる精度劣化検出装置80の機能構成を示す機能ブロック図である。図20に示すように、精度劣化検出装置80は、通信部81、記憶部82、制御部90を有する。
通信部81は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部81は、管理者端末などから各種指示を受信する。また、通信部81は、各種端末から、判定(予測)対象の入力データを受信する。
記憶部82は、データや制御部90が実行するプログラムなどを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部82は、教師データDB83、入力データDB84、機械学習モデル85、インスペクターモデルDB86を記憶する。なお、教師データDB83、入力データDB84、機械学習モデル85、インスペクターモデルDB86は、図4で説明した教師データDB13、入力データDB14、機械学習モデル15、インスペクターモデルDB16と同様の構成を有するので、詳細な説明は省略する。
制御部90は、精度劣化検出装置80全体を司る処理部であり、例えばプロセッサなどである。この制御部90は、第1処理部91、周期判定部92、第2処理部93を有する。なお、第1処理部91、周期判定部92、第2処理部93は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例などである。
ここで、第1処理部91は、実施例1で説明したインスペクターモデル生成部21、設定部22、劣化検出部23、表示制御部26、報知部27と同様の機能を実行する。また、第2処理部93は、実施例2で説明した周期特定部61、インスペクターモデル生成部62、設定部63、劣化検出部64、報知部65と同様の機能を実行する。
実施例1-2と異なる点は、周期判定部92が、第1処理部91の結果に基づいて、入力データの周期を特定して第2処理部93に通知し、第2処理部93は、通知された周期を用いて各インスペクターモデルの再学習を実行する点である。
例えば、周期判定部92は、第1処理部91が表示した1時間おきの精度状態のリアルタイム表示を参照する。そして、周期判定部92は、すべてのインスペクターモデルが同時に閾値未満である状態がないことを検出すると、入力データに周期があると判定する。
すると、周期判定部92は、7時から10時の間ではインスペクターモデル1の精度が最もよく、11時から14時の間ではインスペクターモデル2の精度が最もよく、15時から18時の間ではインスペクターモデル3の精度が最もよく、19時から6時の間ではインスペクターモデル4の精度が最もよいことを特定する。
この場合、周期判定部92は、周期1:7時から10時、周期2:11時から14時、周期3:15時から18時、周期4:19時から6時を特定し、第2処理部93に通知する。
この通知を受信した第2処理部93は、教師データを撮像時間で上記4つの周期に分割して抽出する。そして、第2処理部93は、周期1の教師データを用いてインスペクターモデル1を再学習し、周期2の教師データを用いてインスペクターモデル2を再学習し、周期3の教師データを用いてインスペクターモデル3を再学習し、周期4の教師データを用いてインスペクターモデル4を再学習する。このようにして、周期を自動で特定し、各周期に対応するインスペクターモデルを生成することができる。
なお、最初から存在するインスペクターモデルの数と周期の数とが一致せず、インスペクターモデルの数が多い場合には、いずれかのインスペクターモデルを使用しないようにし、周期の数が多い場合には、新たなインスペクターモデルを生成する。また、再学習する教師データは、一度学習に使用したデータであってもよく、新たに収集したデータでもよく、機械学習モデル15により判定された入力データを使用してもよい。また、判定済みの入力データは、ラベルが付与されていないデータなので、機械学習モデル15の判定結果をラベルとして付与することもできる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
[数値等]
また、上記実施例で用いたデータ例、数値、各閾値、特徴量空間、ラベル数、インスペクターモデル数、具体例、周期等は、あくまで一例であり、任意に変更することができる。また、入力データや学習方法などもあくまで一例であり、任意に変更することができる。また、学習モデルには、ニューラルネットワークなど様々な手法を採用することができる。
また、上記実施例で用いたデータ例、数値、各閾値、特徴量空間、ラベル数、インスペクターモデル数、具体例、周期等は、あくまで一例であり、任意に変更することができる。また、入力データや学習方法などもあくまで一例であり、任意に変更することができる。また、学習モデルには、ニューラルネットワークなど様々な手法を採用することができる。
[合致率]
例えば、上記実施例では、各クラスのモデル適用領域に属する入力データの合致率を求める例を説明したが、これに限定されるものではない。例えば、機械学習モデル15の出力結果とインスペクターモデルの出力結果との合致率により精度劣化を検出することもできる。
例えば、上記実施例では、各クラスのモデル適用領域に属する入力データの合致率を求める例を説明したが、これに限定されるものではない。例えば、機械学習モデル15の出力結果とインスペクターモデルの出力結果との合致率により精度劣化を検出することもできる。
また、図7の例では、クラス0に着目して合致率を算出したが、各クラスに着目することもできる。例えば、図7の例では、時間経過後、監視部25は、監視対象の機械学習モデル15から、クラス0のモデル適用領域には6つの入力データが属し、クラス1のモデル適用領域には6つの入力データが属し、クラス2のモデル適用領域には8つの入力データが属することを取得する。一方、監視部25は、インスペクターモデルから、クラス0のモデル適用領域には3つの入力データが属し、クラス1のモデル適用領域には9つの入力データが属し、クラス2のモデル適用領域には8つの入力データが属することを取得する。この場合、監視部25は、クラス0とクラス1のそれぞれについて、合致率の低下を検出することができる。
[再学習]
また、各精度劣化検出装置は、精度劣化が検出された場合に、インスペクターモデルの判定結果を正解情報として、機械学習モデル15を再学習することもできる。例えば、各精度劣化検出装置は、各入力データを説明変数、各入力データに対するインスペクターモデルの判定結果を目的変数とした再学習データを生成して、機械学習モデル15を再学習することもできる。なお、インスペクターモデルが複数ある場合は、機械学習モデル15との合致率が低いインスペクターモデルを採用することができる。
また、各精度劣化検出装置は、精度劣化が検出された場合に、インスペクターモデルの判定結果を正解情報として、機械学習モデル15を再学習することもできる。例えば、各精度劣化検出装置は、各入力データを説明変数、各入力データに対するインスペクターモデルの判定結果を目的変数とした再学習データを生成して、機械学習モデル15を再学習することもできる。なお、インスペクターモデルが複数ある場合は、機械学習モデル15との合致率が低いインスペクターモデルを採用することができる。
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、機械学習モデル15を実行して入力データを分類(判定)する装置と、精度劣化を検出する装置とを別々の筐体で実現することもできる。
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[ハードウェア]
図21は、ハードウェア構成例を説明する図である。ここでは、実施例1の精度劣化検出装置10を例にして説明するが、他の実施例の精度劣化検出装置も同様のハードウェア構成を有する。図21に示すように、精度劣化検出装置10は、通信装置10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図21に示した各部は、バス等で相互に接続される。
図21は、ハードウェア構成例を説明する図である。ここでは、実施例1の精度劣化検出装置10を例にして説明するが、他の実施例の精度劣化検出装置も同様のハードウェア構成を有する。図21に示すように、精度劣化検出装置10は、通信装置10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図21に示した各部は、バス等で相互に接続される。
通信装置10aは、ネットワークインタフェースカードなどであり、他の装置との通信を行う。HDD10bは、図4に示した機能を動作させるプログラムやDBを記憶する。
プロセッサ10dは、図4に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、図4等で説明した各機能を実行するプロセスを動作させる。例えば、このプロセスは、精度劣化検出装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、インスペクターモデル生成部21、設定部22、劣化検出部23、表示制御部26、報知部27等と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、インスペクターモデル生成部21、設定部22、劣化検出部23、表示制御部26、報知部27等と同様の処理を実行するプロセスを実行する。
このように、精度劣化検出装置10は、プログラムを読み出して実行することで精度劣化検出定方法を実行する情報処理装置として動作する。また、精度劣化検出装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、精度劣化検出装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
10 精度劣化検出装置
11 通信部
12 記憶部
13 教師データDB
14 入力データDB
15 機械学習モデル
16 インスペクターモデルDB
20 制御部
21 インスペクターモデル生成部
22 設定部
23 劣化検出部
24 分類部
25 監視部
26 表示制御部
27 報知部
11 通信部
12 記憶部
13 教師データDB
14 入力データDB
15 機械学習モデル
16 インスペクターモデルDB
20 制御部
21 インスペクターモデル生成部
22 設定部
23 劣化検出部
24 分類部
25 監視部
26 表示制御部
27 報知部
Claims (6)
- コンピュータが、
学習済みモデルに対して入力データを入力したときの第一の出力結果を取得し、
前記学習済みモデルの性能劣化を検出する検出モデルに対して、前記入力データを入力したときの第二の出力結果を取得し、
第一の期間における、前記第一の出力結果および前記第二の出力結果を比較した第一の合致結果を算出し、
前記第一の期間と異なる第二の期間における、前記第一の出力結果および前記第二の出力結果を比較した第二の合致結果を算出し、
前記第一の合致結果および前記第二の合致結果を用いて、前記学習済みモデルの精度劣化の変化を出力する
処理を実行することを特徴とする劣化検出方法。 - 前記算出する処理は、前記第一の合致結果として、前記学習済みモデルの出力クラスごとに、前記第一の出力結果と、前記第二の出力結果との合致率を算出し、
前記算出する処理は、前記第二の合致結果として、前記学習済みモデルの出力クラスごとに、前記第一の出力結果と、前記第二の出力結果との合致率を算出し、
前記出力する処理は、前記第一の期間に対応付けて、前記クラスごとの前記合致率および各クラスの合致率の平均値を出力するとともに、前記第二の期間に対応付けて、前記クラスごとの前記合致率および各クラスの合致率の平均値を出力することを特徴とする請求項1に記載の劣化検出方法。 - 前記出力する処理は、いずれかの期間において、前記クラスごとの合致率、または、前記各クラスの平均値が閾値未満の場合に、前記学習済みモデルの精度が劣化したことを示すアラートを出力することを特徴とする請求項2に記載の劣化検出方法。
- 前記取得する処理は、前記学習済みモデルの出力と同一の出力となる入力データ範囲を示すモデル適用領域を狭めた前記検出モデルを用いて、前記第二の出力結果を取得することを特徴とする請求項1に記載の劣化検出方法。
- コンピュータに、
学習済みモデルに対して入力データを入力したときの第一の出力結果を取得し、
前記学習済みモデルの性能劣化を検出する検出モデルに対して、前記入力データを入力したときの第二の出力結果を取得し、
第一の期間における、前記第一の出力結果および前記第二の出力結果を比較した第一の合致結果を算出し、
前記第一の期間と異なる第二の期間における、前記第一の出力結果および前記第二の出力結果を比較した第二の合致結果を算出し、
前記第一の合致結果および前記第二の合致結果を用いて、前記学習済みモデルの精度劣化の変化を出力する
処理を実行させることを特徴とする劣化検出プログラム。 - 学習済みモデルに対して入力データを入力したときの第一の出力結果を取得する第一取得部と、
前記学習済みモデルの性能劣化を検出する検出モデルに対して、前記入力データを入力したときの第二の出力結果を取得する第一取得部と、
第一の期間における、前記第一の出力結果および前記第二の出力結果を比較した第一の合致結果を算出する第一算出部と、
前記第一の期間と異なる第二の期間における、前記第一の出力結果および前記第二の出力結果を比較した第二の合致結果を算出する第二算出部と、
前記第一の合致結果および前記第二の合致結果を用いて、前記学習済みモデルの精度劣化の変化を出力する出力部と
を有することを特徴とする情報処理装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021553244A JP7371694B2 (ja) | 2019-10-24 | 2019-10-24 | 劣化検出方法、劣化検出プログラムおよび情報処理装置 |
PCT/JP2019/041792 WO2021079478A1 (ja) | 2019-10-24 | 2019-10-24 | 劣化検出方法、劣化検出プログラムおよび情報処理装置 |
US17/707,842 US20220222580A1 (en) | 2019-10-24 | 2022-03-29 | Deterioration detection method, non-transitory computer-readable storage medium, and information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/041792 WO2021079478A1 (ja) | 2019-10-24 | 2019-10-24 | 劣化検出方法、劣化検出プログラムおよび情報処理装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/707,842 Continuation US20220222580A1 (en) | 2019-10-24 | 2022-03-29 | Deterioration detection method, non-transitory computer-readable storage medium, and information processing device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021079478A1 true WO2021079478A1 (ja) | 2021-04-29 |
Family
ID=75619753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/041792 WO2021079478A1 (ja) | 2019-10-24 | 2019-10-24 | 劣化検出方法、劣化検出プログラムおよび情報処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220222580A1 (ja) |
JP (1) | JP7371694B2 (ja) |
WO (1) | WO2021079478A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7279685B2 (ja) * | 2020-04-23 | 2023-05-23 | トヨタ自動車株式会社 | 情報処理システム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016152053A1 (ja) * | 2015-03-23 | 2016-09-29 | 日本電気株式会社 | 精度推定モデル生成システムおよび精度推定システム |
-
2019
- 2019-10-24 JP JP2021553244A patent/JP7371694B2/ja active Active
- 2019-10-24 WO PCT/JP2019/041792 patent/WO2021079478A1/ja active Application Filing
-
2022
- 2022-03-29 US US17/707,842 patent/US20220222580A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016152053A1 (ja) * | 2015-03-23 | 2016-09-29 | 日本電気株式会社 | 精度推定モデル生成システムおよび精度推定システム |
Non-Patent Citations (1)
Title |
---|
SAKAMOTO, YUSUKE ET AL.: "Examination of Non-Data-Distribution-Dependent Concept Drift Detection Method in Unsupervised Learning", IPSJ SIG TECHNICAL REPORT, vol. 2015 -MP, no. 6, 24 February 2015 (2015-02-24), pages 1 - 6, Retrieved from the Internet <URL:http://id.nii.ac.jp/1001/00113254> [retrieved on 20191220] * |
Also Published As
Publication number | Publication date |
---|---|
US20220222580A1 (en) | 2022-07-14 |
JPWO2021079478A1 (ja) | 2021-04-29 |
JP7371694B2 (ja) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2021064370A (ja) | デジタル・ツイン・シミュレーション・データを利用した時系列データに基づく、大規模な産業用監視システム向けの半教師あり深層異常検出のための方法およびシステム | |
EP3364157A1 (en) | Method and system of outlier detection in energy metering data | |
Mazaev et al. | Bayesian convolutional neural networks for remaining useful life prognostics of solenoid valves with uncertainty estimations | |
CN110399927B (zh) | 识别模型训练方法、目标识别方法及装置 | |
JP2019185422A (ja) | 故障予知方法、故障予知装置および故障予知プログラム | |
US20220222545A1 (en) | Generation method, non-transitory computer-readable storage medium, and information processing device | |
JP6871877B2 (ja) | 情報処理装置、情報処理方法及びコンピュータプログラム | |
TW202004573A (zh) | 學習裝置、學習推論裝置、方法及程式 | |
CN112036426A (zh) | 利用高维传感器数据的多数表决进行无监督异常检测和责任的方法和*** | |
CN117041017B (zh) | 数据中心的智能运维管理方法及*** | |
WO2021084623A1 (ja) | 劣化抑制プログラム、劣化抑制方法および情報処理装置 | |
JP2020071845A (ja) | 異常検知装置、異常検知方法および異常検知プログラム | |
Perini et al. | Estimating the contamination factor’s distribution in unsupervised anomaly detection | |
CN109919166A (zh) | 获取属性的分类信息的方法和装置 | |
CN111767192A (zh) | 基于人工智能的业务数据检测方法、装置、设备和介质 | |
WO2021079478A1 (ja) | 劣化検出方法、劣化検出プログラムおよび情報処理装置 | |
JP2021089116A (ja) | 情報処理装置、情報処理方法、プログラム及び学習済みモデルの生成方法 | |
WO2021079480A1 (ja) | 劣化検出方法、劣化検出プログラムおよび情報処理装置 | |
WO2021079479A1 (ja) | 判定方法、判定プログラムおよび情報処理装置 | |
Cook et al. | Environmental statistical process control using an augmented neural network classification approach | |
WO2021079483A1 (ja) | 生成方法、生成プログラムおよび情報処理装置 | |
WO2021079481A1 (ja) | 劣化検出方法、劣化検出プログラムおよび情報処理装置 | |
WO2021079482A1 (ja) | 生成方法、生成プログラムおよび情報処理装置 | |
WO2021079473A1 (ja) | 生成方法、生成プログラムおよび情報処理装置 | |
WO2022079919A1 (ja) | 検知プログラム、検知方法および検知装置 |
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: 19950126 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021553244 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: 19950126 Country of ref document: EP Kind code of ref document: A1 |