WO2021079442A1 - 推定プログラム、推定方法、情報処理装置、再学習プログラムおよび再学習方法 - Google Patents
推定プログラム、推定方法、情報処理装置、再学習プログラムおよび再学習方法 Download PDFInfo
- Publication number
- WO2021079442A1 WO2021079442A1 PCT/JP2019/041581 JP2019041581W WO2021079442A1 WO 2021079442 A1 WO2021079442 A1 WO 2021079442A1 JP 2019041581 W JP2019041581 W JP 2019041581W WO 2021079442 A1 WO2021079442 A1 WO 2021079442A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- input data
- cluster
- learning
- label
- estimation
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2155—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2323—Non-hierarchical techniques based on graph theory, e.g. minimum spanning trees [MST] or graph cuts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
Definitions
- the present invention relates to an estimation program, an estimation method, an information processing device, a re-learning program, and a re-learning method.
- a learning model using machine learning that performs data discrimination and classification functions (hereinafter, may be simply referred to as a "model") has been used. Since the learning model discriminates and classifies according to the trained teacher data, the accuracy of the learning model deteriorates if the tendency (data distribution) of the input data changes during operation.
- label a technique for automatically labeling input data is known.
- clustering may not be performed properly so that labeling for relearning can be performed, the processing cost for relearning cannot be reduced, and it is difficult to suppress deterioration of accuracy.
- One aspect is to provide an estimation program, an estimation method, an information processing device, a re-learning program, and a re-learning method that can suppress deterioration of the accuracy of the learning model.
- the estimation program was generated by clustering in a feature space for a training dataset containing multiple training data used to train a training model that estimates labels according to input data on a computer. , Execute the process of specifying the representative point of each cluster corresponding to each label of the estimation target.
- the estimation program sets the boundary of each cluster, which is the result of clustering in the feature space for multiple input data contained in the input data set, on the computer under the condition that the number of clusters and the number of the representative points match.
- the estimation program tells the computer the estimation result of the label for the plurality of input data based on the correspondence between the cluster of the input data set and the cluster of the training data set determined based on the boundary. Execute the process to be acquired.
- the estimation program causes a computer to execute a process of estimating the determination accuracy of the label determined by using the learning model for the plurality of input data based on the estimation result.
- FIG. 1 is a diagram illustrating a performance estimation device according to the first embodiment.
- FIG. 2 is a diagram illustrating general deterioration detection using the KL distance.
- FIG. 3 is a diagram illustrating general deterioration detection using the degree of certainty.
- FIG. 4 is a diagram illustrating a problem of clustering.
- FIG. 5 is a functional block diagram showing a functional configuration of the performance estimation device according to the first embodiment.
- FIG. 6 is a diagram showing an example of information stored in the input data DB.
- FIG. 7 is a diagram showing an example of information stored in the determination result DB.
- FIG. 8 is a diagram showing an example of information stored in the estimation result DB.
- FIG. 9 is a diagram for explaining the identification of the number of clusters and the center point.
- FIG. 9 is a diagram for explaining the identification of the number of clusters and the center point.
- FIG. 10 is a diagram illustrating clustering after operation.
- FIG. 11 is a diagram illustrating persistent homology.
- FIG. 12 is a diagram illustrating barcode data.
- FIG. 13 is a diagram illustrating cluster allocation.
- FIG. 14 is a diagram illustrating a matching process.
- FIG. 15 is a diagram illustrating a continuation of clustering after operation.
- FIG. 16 is a diagram illustrating labeling of input data.
- FIG. 17 is a diagram illustrating deterioration determination of model accuracy.
- FIG. 18 is a diagram illustrating details of determination of model accuracy.
- FIG. 19 is a diagram illustrating re-learning.
- FIG. 20 is a flowchart showing the flow of processing.
- FIG. 21 is a diagram illustrating the effect of the first embodiment.
- FIG. 22 is a diagram illustrating re-learning of the second embodiment.
- FIG. 23 is a diagram illustrating the effect of the second embodiment.
- FIG. 24 is a diagram illustrating calculation of the number of clusters using DTM.
- FIG. 25 is a diagram illustrating a hardware configuration example.
- FIG. 1 is a diagram illustrating a performance estimation device 10 according to the first embodiment.
- the performance estimation device 10 executes determination (classification) of input data using a learned learning model, monitors the accuracy state of the learning model, and detects accuracy deterioration.
- This is an example of a computer device that suppresses deterioration of the accuracy of the learning model by performing re-learning.
- the learning model is trained using image data whose explanatory variable is image data and animal name as an objective variable during training, and when image data is input as input data during operation, it is determined as "cat" or the like.
- image data whose explanatory variable is image data and animal name as an objective variable during training
- image data is input as input data during operation, it is determined as "cat" or the like.
- This is an example of an image classifier that outputs results.
- the learning model is not limited to the image classifier, and various learning models that output labels (determination results) for input data can be applied.
- the learning model learned by machine learning or deep learning is learned based on the combination of learning data and labeling, it functions only within the range included in the learning data.
- the learning model it is assumed that the same type of data as at the time of learning is input after operation, but in reality, the state of the input data changes and the learning model does not function properly. There is. That is, "accuracy deterioration of the learning model" occurs.
- the cause of the deterioration of the accuracy of the learning model is that in the feature space immediately after learning, each label is properly divided by the boundary plane, but when deterioration occurs, the conversion to the feature space becomes inappropriate and different labels. This is because it moves to the area of, and clusters of multiple classes are connected.
- FIG. 2 is a diagram illustrating general deterioration detection using the KL distance.
- the distribution model 1 of the feature space is retained when the learning data is judged (classified), and the input data to be judged is judged after the start of operation.
- the distribution model 2 of the feature amount space at the time of this is periodically measured and held. Then, the KL distance between the distribution model 1 and the distribution model 2 is calculated, and when the calculated value is equal to or greater than the threshold value, the deterioration of the accuracy of the learning model is detected.
- FIG. 3 is a diagram for explaining general deterioration detection using the degree of certainty.
- Machine learning can output the certainty of judgment together.
- it is the value of the final layer
- SVM Small Vector Machine
- it is the distance from the boundary surface.
- statistics such as the average and variance of the distance from the boundary surface of each cluster are retained when the training data is judged (classified) at the learning end stage before the deterioration of accuracy.
- the statistic when the input data to be judged is judged after the start of operation is periodically measured and held. Then, the accuracy deterioration of the learning model is detected by comparing each statistic or comparing the statistic at the time of operation with the threshold value.
- Such a method using the KL distance and the degree of certainty can detect a change in the situation and a deterioration in accuracy, but cannot automatically repair a learning model in which the accuracy has deteriorated.
- re-learning data learning data for re-learning (re-learning data) by clustering the feature space when the input data to be judged is judged after the start of operation, associating each cluster with a label, and using the result as correct answer information.
- re-learning data it is simply referred to as "re-learning data").
- FIG. 4 is a diagram illustrating a problem of clustering.
- K-means method K-means method
- unintended clustering in which the boundaries of clusters A, B, and C are ambiguous is executed, and it is difficult to give correct answer information. Events may occur.
- it is not always classified into the same number of clusters as the assigned label, and the number of clusters cannot be set in advance. Therefore, it is difficult to automatically generate retraining data.
- the performance estimation device 10 realizes automatic detection of accuracy deterioration of the learning model and automatic generation of re-learning data using the input data determined by the learning model and the determination result.
- FIG. 5 is a functional block diagram showing a functional configuration of the performance estimation device 10 according to the first embodiment.
- the performance estimation 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 input data from the administrator terminal and receives various instructions.
- 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 learning model 13, the input data DB 14, the determination result DB 15, the estimation history DB 16, and the re-learning data DB 17.
- the storage unit 12 can also store a data set of learning data used for learning the learning model 13. For example, the storage unit 12 stores each learning data associated with an identifier that identifies the learning data, image data that serves as an explanatory variable, and a label (correct answer information) that serves as an objective variable.
- the learning model 13 is a trained machine learning model learned using the learning data.
- the learning model 13 is an image classifier trained to output animal names such as cats and dogs when image data is input.
- Example 1 a learning model 13 that classifies into three values of class A, class B, and class C will be described as an example.
- the storage unit 12 can also store various learned parameters (optimized parameters) that can construct a learned learning model without storing the learning model itself.
- the input data DB 14 is a database that stores input data that is data to be input to the learning model 13. That is, the input data DB 14 stores the data to be determined.
- 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 "data ID, input data" in association with each other. The "data ID” stored here is an identifier that identifies the data, and the "input data" is the data to be determined.
- the feature amount includes an average value of pixel values of image data, a maximum or minimum value of pixel values, a difference between a maximum value and a minimum value, and the like. Further, the input data does not necessarily have to be stored, and can be received like a data stream.
- the judgment result DB 15 is a database that stores the judgment result of the input data. That is, the determination result DB 15 stores the determination result obtained by inputting the input data into the learning model 13.
- FIG. 7 is a diagram showing an example of information stored in the determination result DB 15. As shown in FIG. 7, the determination result DB 15 stores "data ID, input data, determination result" in association with each other.
- the "data ID” stored here is an identifier for identifying the data
- the "input data” is the data to be determined
- the "determination result” is the determination result by the learning model 13.
- the estimation history DB 16 is a database that stores the history estimated by the deterioration estimation unit 23, which will be described later.
- the estimation history DB 16 stores the estimation result of the deterioration estimation unit 23 with respect to the input data, various information generated by the deterioration estimation unit 23 for deterioration detection, and the like.
- FIG. 8 is a diagram showing an example of information stored in the estimation history DB 16.
- the estimation history DB 16 stores “data ID, input data, estimation result (class A, class B, class C)”.
- the "data ID” stored here is an identifier that identifies the data, and the "input data” is the data to be determined.
- the "estimation result” is an estimation result by the deterioration estimation unit 23, and indicates the probability (likelihood) corresponding to each class.
- the re-learning data DB 17 is a database that stores re-learning data used for re-learning of the learning model 13. Specifically, the re-learning data DB 17 stores the learning data at the time of re-learning for recovering the accuracy of the learning model when the accuracy of the learning model 13 deteriorates. Like the training data, the retraining data is data having an explanatory variable and an objective variable. The details will be described later.
- the control unit 20 is a processing unit that controls the entire performance estimation device 10, such as a processor.
- the control unit 20 includes a model execution unit 21, a pre-processing unit 22, a deterioration estimation unit 23, and a re-learning unit 28.
- the model execution unit 21, the pre-processing unit 22, the deterioration estimation unit 23, and the re-learning unit 28 are examples of electronic circuits included in the processor and processes executed by the processor.
- the model execution unit 21 is a processing unit that executes determination (classification) of input data using the learning model 13. That is, the model execution unit 21 executes the actual operation using the learning model 13. For example, the model execution unit 21 inputs each input data stored in the input data DB 14 into the learning model 13 and acquires the output result of the learning model 13. Then, the model execution unit 21 stores the input data and the determination result based on the output result in the determination result DB 15 in association with each other. For example, the model execution unit 21 acquires the probability (likelihood) of each class as the output result of the learning model 13, and determines the class having the highest likelihood as the determination result.
- the pre-processing unit 22 is a processing unit that acquires information about the feature space of the learning model 13 that has been trained and before the start of operation. Specifically, the pre-processing unit 22 acquires information about the feature space before the determination by the model execution unit 21 is started and before the accuracy of the learning model 13 deteriorates, and stores the information in the storage unit 12.
- the preprocessing unit 22 uses the Gauss density represented by the equation (1) to calculate the one corresponding to the density of each data in the feature space in the pre-deterioration state.
- N indicates the number of data
- ⁇ indicates the standard deviation
- j is the number of data
- the random variable x is, for example, input data (feature amount).
- the preprocessing unit 22 records the number of clusters and the center point (representative point) of a region having a density equal to or higher than a certain level in each cluster.
- FIG. 9 is a diagram for explaining the identification of the number of clusters and the center point. As shown in FIG. 9, the preprocessing unit 22 generates a graph in which the horizontal axis is the feature amount and the vertical axis is the density. Then, the preprocessing unit 22 identifies the coordinates of the position (center point) having the highest density among the data (learning data) to which each known cluster belongs and stores it in the storage unit 12. In the example of FIG. 9, the number of clusters including cluster A and cluster B is 2, and two center points including the center point of cluster A and the center point of cluster B are stored.
- Information indicating the characteristics of the data can be adopted as the coordinates of the center point, and for example, the feature amount that can be acquired from the learning model 13 and the above-mentioned density information can be adopted. Further, as the feature amount, for example, information that can be acquired from the final layer of the neural network, information that can be acquired from the input data itself, an average pixel value of the input data, and the like can be adopted. Further, the information of the data classified in the feature amount space before deterioration can be used for the above processing by acquiring it at the time of learning and storing it in the storage unit 12 or the like.
- the deterioration estimation unit 23 has a density calculation unit 24, a clustering unit 25, a label association unit 26, and a deterioration detection unit 27, and is a processing unit that detects the accuracy deterioration of the learning model 13. For example, the deterioration estimation unit 23 determines the accuracy deterioration of the learning model 13 at predetermined intervals, such as periodically or after processing a certain number of input data.
- the density calculation unit 24 is a processing unit that calculates information corresponding to the density of each input data by using the determination result for the input data after the operation of the learning model 13. For example, the density calculation unit 24 monitors the determination process by the model execution unit 21 when the operation is started. Then, each time the input data is processed, the density calculation unit 24 acquires the feature amount of the input data and the determination result in association with each other and holds them in the storage unit 12 or the like.
- the density calculation unit 24 uses the retained feature amount of the input data and the equation (1) to determine the density of each input data by the same method as that of the preprocessing unit 22. calculate. Then, the density calculation unit 24 stores the calculated density and the input data in association with each other in the storage unit 12, or outputs the calculated density to the clustering unit 25.
- the clustering unit 25 is a processing unit that executes clustering that extracts clusters and data belonging to the clusters based on the density of input data under the condition that the number of clusters specified by the preprocessing unit 22 and the number of center points match. is there.
- FIG. 10 is a diagram illustrating clustering after operation.
- the clustering unit 25 uses the feature amount and density of the input data based on the determination result by the model execution unit 21 to generate a graph having the feature amount on the horizontal axis and the density on the vertical axis (S1). ). Subsequently, the clustering unit 25 lowers the threshold value for the density by a predetermined value, and searches for the minimum threshold value that is the same as the number of clusters (here, 2) specified by the preprocessing unit 22 (S2).
- the clustering unit 25 executes persistent homology conversion (PH conversion) on the feature amount of the input data which is equal to or more than the threshold value, refers to the 0-dimensional connected component, and has a radius equal to or more than the predetermined threshold value.
- the number of clusters is calculated and specified depending on whether or not the number of bars having the above matches the number of clusters specified in advance (S3).
- the clustering unit 25 lowers the threshold value by a predetermined value and repeats the process (S4).
- the clustering unit 25 performs a process of lowering the density threshold and extracting input data having a density equal to or higher than the threshold, and a process of calculating the number of clusters by a PH conversion process for the extracted input data. Repeat until the number of clusters that matches the number is found. Then, when the number of clusters matches, the clustering unit 25 identifies the center points C1 and C2 from the input data having a density equal to or higher than the threshold value (density) at that time. After that, the clustering unit 25 stores the information obtained by clustering in the storage unit 12 or outputs it to the label associating unit 26.
- homology is a method of expressing the feature of an object by the number of holes of m (m ⁇ 0) dimension.
- the "hole” referred to here is the origin of the homologue group, the 0-dimensional hole is a connected component, the 1-dimensional hole is a hole (tunnel), and the 2-dimensional hole is a cavity.
- the number of holes in each dimension is called the Betti number.
- “persistent homology” is a method for characterizing the transition of m-dimensional holes in an object (here, a set of points (Point Cloud)), and features related to the arrangement of points by persistent homology. You can look it up.
- each point in the object is gradually inflated into a sphere, and in the process, the time when each hole is generated (represented by the radius of the sphere at the time of occurrence) and the time when it disappears (the radius of the sphere at the time of disappearance) (Represented) and is specified.
- FIG. 11 is a diagram illustrating persistent homology.
- the centers of two spheres are connected by a line segment, and when three spheres touch, the centers of three spheres are connected by a line segment.
- the connected components and holes are considered.
- the connecting component is generated and no hole is generated.
- a hole is generated and a part of the connecting component disappears.
- more holes are generated, and only one connecting component is maintained.
- the number of connected components remains 1, and one hole disappears.
- the radius of occurrence and radius of extinction of the element (that is, hole) of the homologistic group are calculated.
- Barcode data can be generated by using the radius of occurrence and the radius of extinction of the hole. Since the barcode data is generated for each hole dimension, one block of barcode data can be generated by integrating the barcode data of a plurality of hole dimensions. Continuous data is data showing the relationship between the radius (that is, time) of a sphere and the Betti number in persistent homology.
- FIG. 12 is a diagram illustrating barcode data.
- the graph of FIG. 12 is a graph generated from barcode data based on the zero-dimensional hole (connected component) in FIG. 11, and the horizontal axis represents the radius.
- the clustering unit 25 can specify the number of clusters of input data by measuring the number of bars longer than the threshold value based on the 0-dimensional barcode data. For example, it is assumed that the clustering unit 25 determines that the number of clusters is the same as the training data when there are two bars above the threshold value. At this time, the clustering unit 25 can specify the coordinates of the center points C1 and C2 by specifying the data having the highest density among the input data to which the bars belong.
- the label associating unit 26 is a processing unit that associates a new label with the input data based on the clustering result by the clustering unit 25. Specifically, the label associating unit 26 labels the input data whose density is equal to or higher than the threshold value determined by the clustering unit 25 based on the cluster to which each belongs, and then applies the input data whose density is lower than the threshold value. Then, labeling is performed based on the probability of belonging to each cluster.
- the label associating unit 26 identifies the cluster to which each center point (C1 and C2) specified by the clustering unit 25 belongs, and associates a label with the input data above the threshold value extracted by the clustering unit 25.
- FIG. 13 is a diagram illustrating cluster allocation.
- the label associating unit 26 transfers the input data equal to or larger than the threshold value, which is the minimum in the state where the number of clusters is 2 by PH processing, and the two center points (C1 and C2) from the clustering unit 25. get.
- the label associating unit 26 is a cluster to which each of the two center points belongs based on the matching process with the history of the center points calculated at the deterioration determination timing up to that point for the two center points (C1 and C2). To determine.
- FIG. 14 is a diagram illustrating a matching process.
- the label associating unit 26 maps the center point of each cluster specified from the time of learning completion to the present in the feature space, estimates the traveling direction, and is currently extracted. Determine the clusters for each of the two center points (C1 and C2).
- C1 and C2 the center points
- simply matching the closest center point may not be appropriate when the fluctuation of the center point is taken into consideration.
- FIG. 14 (a) and two new points are newly matched matching at close points results in the result shown in FIG. 14 (b), but this is from the direction of fluctuation. It is an unnatural movement. It is more natural to fluctuate as shown in (c) of FIG.
- the label association unit 26 introduces the correction distance. For example, when traveling in the traveling direction, a mechanism for determining a closer point is introduced, and the traveling direction is specified by calculating the inner product of the traveling direction vector from the previous point and the vector connecting the fulcrum and the target point. For example, the label associating unit 26 selects the nearest neighbor point with the value of the inner product as c and the value obtained by multiplying the distance between the two points with (tanh (c) +1) / 2 as the weight as the correction distance. ..
- the label associating unit 26 sets the class A as a label for each input data having a density equal to or higher than the threshold value and belonging to the same cluster as the center point C1.
- the label associating unit 26 sets the class B as a label for each input data having a density equal to or higher than the threshold value and belonging to the same cluster as the center point C2.
- the cluster to which each input data belongs can be specified by a graph as shown in FIG. 13, and can be specified as the same cluster as the center point having the shortest distance from each center point.
- FIG. 15 is a diagram illustrating a continuation of clustering after operation.
- the label associating unit 26 measures the distance to the center C1 and the distance to C2 of each cluster for each of the extracted input data, and the second closest distance is the maximum value of the distance between the centers of each cluster. If it is larger, it is determined that the data belongs to the nearest cluster.
- the label associating unit 26 is a region P outside the region X among the regions other than the region X (cluster A) and the region Y (cluster B) whose clusters are determined by the above method.
- the input data is determined to be cluster A, and the input data of the area Q outside the area Y is determined to be cluster B.
- the label associating unit 26 has a plurality of nearby clusters for the input data of the region Z whose second closest distance is smaller than the maximum value of the distance between the centers of each cluster (in the middle of the plurality of clusters). It is determined that the data of are mixed, and the probability of each cluster is measured and given for each input data. Specifically, the label associating unit 26 calculates the probability of belonging to each cluster for each input data belonging to the region Z by using the k-nearest neighbor method, the uniform probability method, the distribution ratio holding method, and the like, and probabilistically. Labels (class A probability, class B probability, class C probability) are generated and assigned.
- the label associating unit 26 considers that the ratio of the number of data of each cluster during operation and learning is the same for each input data belonging to the area Z, calculates the ratio of data whose label is undecided, and calculates the ratio. Is given as a label.
- the label association unit 26 has a ratio of class A to class B of training data of 5: 5, and a ratio of the number of data of class A to which the label has been set and the number of data of class Y is 6: 4.
- a label is set for each input data in the area Z so that the ratio of the entire retraining data is 5: 5.
- FIG. 16 is a diagram illustrating labeling of input data.
- the estimated label is given by the probability of belonging to each cluster (probability of belonging to class A, probability of belonging to class B, probability of belonging to class C).
- each input data of the area X and the area P is given an estimation label [1,0,0]
- each input data of the area Y and the area Q is given an estimation label [0,1].
- 0] is given, and an estimated label [a, b, c] is given to each input data in the area Z.
- a, b, and c are probabilities calculated by a method such as the k-nearest neighbor method.
- the label association unit 26 stores the association between each input data and the estimated label in the storage unit 12 and outputs the association to the deterioration detection unit 27.
- the deterioration detection unit 27 is a processing unit that detects the accuracy deterioration of the learning model 13. Specifically, the deterioration detection unit 27 deteriorates the accuracy of the learning model 13 by comparing the determination result of the learning model 13 by the model execution unit 21 with the estimation result (estimated label) generated by the label association unit 26. Is detected.
- FIG. 17 is a diagram for explaining deterioration determination of model accuracy.
- the deterioration detection unit 27 generates a determination result [1,0,0] based on the obtained output result (class A) in which the input data is input to the learning model 13.
- the deterioration detection unit 27 estimates the input data by the above estimation process when it belongs to the area X or the area P [1,0,0], and when it belongs to the area Y or the area Q.
- the result [0,1,0] or the estimation result [a, b, c] when belonging to the region Z is acquired.
- the deterioration detection unit 27 acquires the determination result and the estimation result for each input data, and executes the deterioration determination by comparing these.
- the deterioration detection unit 27 uses the sum (inner product) of the component products of the vector representation of the determination result by the learning model 13 as the score for the probability vector of each input data (each point) shown in each estimation result.
- the deterioration determination is executed by comparing the value obtained by dividing the total of the scores by the number of data with the threshold value.
- FIG. 18 is a diagram illustrating details of determination of model accuracy.
- the determination result and the estimation result of the learning model are acquired for each input data.
- the input data 1 is determined to be class A by the learning model 13, so the determination result is [1,0,0], and the label association unit 26 estimates that the input data 1 belongs to cluster A. Is [1,0,0].
- the determination result was [0,1,0]
- the estimation result based on the probability is [0.5, 0.5, 0].
- the deterioration detection unit 27 generates a matrix of determination results of the learning model 13 of each input data and a matrix of estimation results of each input data, calculates the sum of the element products, and calculates the sum of the element products as the number of data. By dividing by, the estimation accuracy (score) is calculated. Then, the deterioration detection unit 27 detects that the accuracy of the learning model 13 is in the deteriorated state when the estimation accuracy is less than the threshold value.
- the re-learning unit 28 is a processing unit that executes re-learning of the learning model 13 when accuracy deterioration is detected by the deterioration detection unit 27. For example, the re-learning unit 28 generates re-learning data using the estimation result estimated by the deterioration detection unit 27 as correct answer information. Then, the re-learning unit 28 re-learns the learning model 13 using the re-learning data, and stores the re-learning learning model 13 in the storage unit 12.
- FIG. 19 is a diagram illustrating re-learning.
- the re-learning unit 28 acquires the estimation result for each input data, and generates re-learning data using the input data as an explanatory variable and the estimation result as an objective variable. For example, the re-learning unit 28 generates [input data 1, (1,0,0)], [input data 2, (0.5,0.5,0)], etc. as [explanatory variable, objective variable]. To do. Then, the re-learning unit 28 inputs the re-learning data into the learning model 13, and relearns the learning model 13 by using an error back propagation method or the like based on the difference between the output result of the learning model 13 and the objective variable. To execute.
- the re-learning method an error back propagation method or the like can be adopted. Further, the timing for ending the re-learning can be arbitrarily set, such as when the learning with all the re-learning data is completed or when the restoration error is less than the threshold value.
- FIG. 20 is a flowchart showing the flow of processing. As shown in FIG. 20, when the learning of the learning model 13 is completed (S101: Yes), the preprocessing unit 22 calculates the density of each learning data (S102).
- the preprocessing unit 22 executes clustering (S103) and records the number of clusters and the center point of each cluster (S104). At this timing, since the learning is completed and the known classes can be accurately classified, the number of clusters is also known, so that clustering can be omitted.
- the model execution unit 21 reads the input data from the input data DB 14 (S105), inputs the input data to the learning model 13, and acquires the determination result (S106).
- S107 the determination for a predetermined number of times has not been completed (S107: No)
- S107 it is determined that the timing is not the deterioration determination timing, and S105 and subsequent steps are repeated.
- the deterioration estimation unit 23 determines that it is the deterioration determination timing, and calculates the density for each input data input to the learning model 13. (S108). Subsequently, the deterioration estimation unit 23 executes clustering to calculate the number of clusters and extract data belonging to each cluster (S109).
- the deterioration estimation unit 23 calculates the estimation result of each input data (S110), and calculates the deterioration determination score by using the determination result by the learning model 13 and the estimation result by the deterioration estimation unit 23 (S111). ).
- the deterioration estimation unit 23 determines that the accuracy deterioration has not progressed, and repeats S105 and subsequent steps.
- the re-learning unit 28 determines that the accuracy deterioration is progressing, generates re-learning data using the estimation result as correct answer information (S113), and re-learning data. Is used to relearn the learning model 13 (S114). After that, S101 and subsequent steps are executed for the relearned learning model 13.
- the performance estimation device 10 can automatically detect the deterioration of the accuracy of the learning model 13 and can automatically generate new learning data using the input data set used for the determination. Therefore, the performance estimation device 10 can relearn the learning model 13 at the timing when the accuracy deterioration of the learning model 13 occurs, and can suppress the accuracy deterioration of the learning model. Further, since the performance estimation device 10 can automatically generate data for re-learning, the processing load required for re-learning can be reduced and the time required for re-learning can be shortened. That is, the performance estimation device 10 can realize real-time accuracy monitoring, automatic accuracy restoration, and labor saving in re-learning.
- FIG. 21 is a diagram illustrating the effect of the first embodiment.
- FIG. 21 illustrates the performance change (model performance) of the learning model 13 when MNIST (Mixed National Institute of Standards and Technology database) is used as the input data set, and the change in the estimation performance by the performance estimation device 10. ing.
- the vertical axis is the accuracy
- the horizontal axis is the rotation angle because the input data rotates with the passage of time, that is, the input data changes with time.
- the change in the estimated performance by the performance estimation device 10 shows the same change as the model performance. Therefore, it can be seen that the accuracy of the learning model 13 can be monitored in real time by the performance estimation device 10 described in the first embodiment.
- the estimation result is generated at the timing when a certain number of determination processes are executed to determine the accuracy deterioration, and when the accuracy deterioration is detected, the re-learning data based on the estimation result is generated.
- An example of executing the re-learning of the learning model 13 has been described, but the timing of performing the re-learning is not limited to this. For example, by sequentially modifying the learning model 13 using the estimation result, the applicable range of the learning model 13 can be expanded, and the occurrence of accuracy deterioration can be suppressed.
- FIG. 22 is a diagram illustrating re-learning of the second embodiment.
- the performance estimation device 10 according to the first embodiment generates an estimation result from each input data used for the determination when a certain number of determination results are accumulated, and deteriorates using the estimation result. The judgment is executed. After that, when the performance estimation device 10 according to the first embodiment detects the accuracy deterioration, it generates re-learning data using the estimation result as correct answer information, and sequentially corrects the learning model 13.
- the performance estimation device 10 when a certain number of determination results are accumulated, the data density is calculated, the center point is specified, the clustering is performed, the center point is matched, and the like, as in the first embodiment. Is executed to generate the estimation result of the input data in the order of processing. After that, unlike the first embodiment, the performance estimation device 10 does not perform detection of accuracy deterioration after accumulating the estimation results, and relearns using the estimation results as correct answer information each time the estimation results are generated.
- the learning model 13 is learned from the data. That is, the learning model 13 is sequentially modified without waiting for the accuracy to deteriorate.
- FIG. 23 is a diagram illustrating the effect of the second embodiment.
- the performance change (model performance) of the learning model 13 when MNIST is used as the input data set and the performance change of the learning model 13 when adaptive evolution learning, which is a sequential modification according to the second embodiment, is performed. Is illustrated.
- the vertical axis is the accuracy
- the horizontal axis is the passage of time (rotation angle).
- the input data having a probability equal to or less than the threshold value (for example, 0.3) and the difference between the maximum probability and the minimum probability.
- Input data below the threshold is manually labeled without using the estimation results.
- the performance estimation device 10 generates re-learning data using all the estimation results when the estimation accuracy (score) is less than the first threshold value for detecting the accuracy deterioration and greater than or equal to the second threshold value. Further, when the estimation accuracy (score) is less than the second threshold value, the performance estimation device 10 randomly selects half from the estimation result to generate re-learning data, and manually labels the re-learning data. Generate training data.
- [Learning and re-learning] For example, when the data at the time of learning is small, sufficient accuracy may not be obtained even if the learning is performed.
- the acquired input data can be labeled by the above method, and the learning model 13 can be learned by using both the learning data from the beginning and the newly generated learning data. .. As a result, the learning model 13 having low performance at the beginning of operation can be automatically improved to a high-performance learning model.
- FIG. 24 is a diagram illustrating calculation of the number of clusters using DTM.
- FIG. 24 is a diagram in which the horizontal axis is the occurrence time (Birth) and the vertical axis is the disappearance time (Death).
- the number of clusters can be calculated from the number of points whose distance from a predetermined threshold value (diagonal line) is equal to or greater than the threshold value.
- the present invention is not limited to this, and any information indicating the feature amount of the input data may be used, and various feature amounts used in machine learning or the like. Can also be adopted.
- the feature space is an example of a space whose coordinates are the features obtained from the input data, and the two-dimensional space is illustrated in the first embodiment, but the space is not limited to this, and machine learning and deep layers are used.
- Various feature spaces used in learning can be used. For example, a feature space representing a model applicability domain can be used.
- the numerical values, the threshold values, the feature amount space, the number of clusters, the number of labels, etc. used in the above embodiment are merely examples and can be arbitrarily changed.
- the input data and the learning method are just examples, and can be changed arbitrarily.
- various methods such as a neural network can be adopted as the learning model.
- each component of each device shown in the figure is a functional concept, and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution and integration of each device is not limited to the one shown in the figure. That is, all or a part thereof can be functionally or physically distributed / integrated in any unit according to various loads, usage conditions, and the like.
- each processing function performed by each device 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. 25 is a diagram illustrating a hardware configuration example.
- the performance estimation 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. 25 are connected to each other by a bus or the like.
- HDD Hard Disk Drive
- 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. 5 from the HDD 10b or the like and expands the program into the memory 10c to operate a process that executes each function described in FIG. 5 or the like. For example, this process executes the same function as each processing unit of the performance estimation device 10. Specifically, the processor 10d reads a program having the same functions as the model execution unit 21, the pre-processing unit 22, the deterioration estimation unit 23, the re-learning unit 28, and the like from the HDD 10b and the like. Then, the processor 10d executes a process of executing the same processing as the model execution unit 21, the pre-processing unit 22, the deterioration estimation unit 23, the re-learning unit 28, and the like.
- the performance estimation device 10 operates as an information processing device that executes the performance estimation method by reading and executing the program. Further, the performance estimation 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 performance estimation 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.
- Performance estimation device 11 Communication unit 12 Storage unit 13 Learning model 14 Input data DB 15 Judgment result DB 16 Estimated history DB 17 Re-learning data DB 20 Control unit 21 Model execution unit 22 Pre-processing unit 23 Deterioration estimation unit 24 Density calculation unit 25 Clustering unit 26 Label mapping unit 27 Deterioration detection unit 28 Re-learning unit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Discrete Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
情報処理装置は、入力データに応じたラベルの推定を行う学習モデルの学習に用いた複数の学習データを含む学習データセットについての特徴量空間におけるクラスタリングによって生成された、推定対象の各ラベルに対応する各クラスタの代表点を特定する。情報処理装置は、入力データセットに含まれる複数の入力データについての特徴量空間におけるクラスタリングの結果である各クラスタの境界を、クラスタの数と代表点の数が一致する条件下で設定する。情報処理装置は、境界に基づいて決定される入力データセットのクラスタと、学習データセットのクラスタと、の対応関係に基づいて、複数の入力データに対するラベルの推定結果を取得し、複数の入力データに対して学習モデルを用いて判定されるラベルの判定精度を、推定結果に基づいて推定する。
Description
本発明は、推定プログラム、推定方法、情報処理装置、再学習プログラムおよび再学習方法に関する。
従来から、データの判別や分類機能などを行う機械学習を用いた学習モデル(以下では、単に「モデル」と記載する場合がある)が利用されている。学習モデルは、学習させた教師データの通りに判別や分類を行うので、運用中に入力データの傾向(データ分布)が変化すると、学習モデルの精度が劣化する。
このようなことから、モデルを適切に修復させるメンテナンス作業を行うことが一般的である。例えば、一定期間ごとに、データのラベル付けを行い、それらに対するモデル精度を計測し、一定精度を下回った場合に再学習を行うことで、学習モデルの精度劣化を抑制する。この手法では、入力データが、天気予報や株価予測などのように、機械学習モデルによる予測結果が得られた後に、正解情報を取得できるデータの場合には、再学習用のラベル付けにかかるコストは少なくなるが、正解情報が取得できないデータの場合には、再学習用のラベル付けに多大なコストがかかる。
近年では、入力データの余計なデータを除いて整理した情報であり、学習モデルが入力された入力データを分類する、特徴量空間をクラスタリングし、各クラスタにラベルを対応させてその結果を正解情報(ラベル)として、入力データに自動的にラベル付けを行う技術が知られている。
Sethi,Tegjyot Singh,and Mehmed Kantardzic,"On the reliable detection of concept drift from streaming unlabeled data.",Expert Systems with Applications 82 (2017):77-99.
しかしながら、上記クラスタリング技術では、再学習用のラベル付けができるように適切にクラスタリングされない場合があり、再学習にかかる処理コストが低減できず、精度の劣化を抑制することが難しい。
例えば、学習後(運用開始時)の特徴量空間における各ラベルの境界平面(判定ルール)と同じようにクラスタリングされるとは限らないので、境界平面を跨ったクラスタリングが実行されると、ラベルを自動で判定できない事象が発生する。この場合、人手によりラベル付けを行うことになり、却って処理負荷が高くなる。また、ラベル数とクラスタ数とが一致するとも限らず、事前にクラスタ数を指定することも難しいので、クラスタリング結果をそのまま用いてラベル付けが実行できるとも限らない。
一つの側面では、学習モデルの精度劣化を抑制することができる推定プログラム、推定方法、情報処理装置、再学習プログラムおよび再学習方法を提供することを目的とする。
第1の案では、推定プログラムは、コンピュータに、入力データに応じたラベルの推定を行う学習モデルの学習に用いた複数の学習データを含む学習データセットについての特徴量空間におけるクラスタリングによって生成された、推定対象の各ラベルに対応する各クラスタの代表点を特定する処理を実行させる。推定プログラムは、コンピュータに、入力データセットに含まれる複数の入力データについての特徴量空間におけるクラスタリングの結果である各クラスタの境界を、クラスタの数と前記代表点の数が一致する条件下で設定する処理を実行させる。推定プログラムは、コンピュータに、前記境界に基づいて決定される前記入力データセットのクラスタと、前記学習データセットのクラスタと、の対応関係に基づいて、前記複数の入力データに対する前記ラベルの推定結果を取得する処理を実行させる。推定プログラムは、コンピュータに、前記複数の入力データに対して前記学習モデルを用いて判定される前記ラベルの判定精度を、前記推定結果に基づいて推定する処理を実行させる。
一実施形態によれば、学習モデルの精度劣化を抑制することができる。
以下に、本発明にかかる推定プログラム、推定方法、情報処理装置、再学習プログラムおよび再学習方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
[性能推定装置の説明]
図1は、実施例1にかかる性能推定装置10を説明する図である。図1に示すように、性能推定装置10は、学習済みの学習モデルを用いて入力データの判定(分類)を実行する一方で、学習モデルの精度状態を監視し、精度劣化を検出した場合に再学習を行うことで、学習モデルの精度劣化を抑制するコンピュータ装置の一例である。
図1は、実施例1にかかる性能推定装置10を説明する図である。図1に示すように、性能推定装置10は、学習済みの学習モデルを用いて入力データの判定(分類)を実行する一方で、学習モデルの精度状態を監視し、精度劣化を検出した場合に再学習を行うことで、学習モデルの精度劣化を抑制するコンピュータ装置の一例である。
例えば、学習モデルは、学習時には、説明変数を画像データ、目的変数を動物名とする学習データを用いて学習され、運用時には、入力データとして画像データが入力されると、「ネコ」などの判定結果を出力する画像分類器の一例である。なお、学習モデルは、画像分類器に限定されず、入力データに対してラベル(判定結果)を出力する様々な学習モデルを適用することができる。
ここで、機械学習や深層学習などで学習された学習モデルは、学習データとラベル付けの組み合わせを元に学習されるので、学習データが含む範囲でのみ機能する。一方、学習モデルは、運用後に、学習時と同種のデータが入力されることが想定されているが、現実には入力されるデータの状態が変化して、学習モデルが適切に機能しなくなることがある。すなわち、「学習モデルの精度劣化」が発生する。
学習モデルの精度劣化の原因は、学習直後の特徴量空間ではラベルごとに境界平面を境に適切に分かれているが、劣化が起きた場合、特徴量空間への変換が適切でなくなり、異なるラベルの領域へ移動したり、複数のクラスのクラスタが連結したりするためである。
この場合、学習モデルを適切に修復させるメンテナンス作業が必要となる。そのためには、学習モデルの劣化状態を把握する必要がある。このようなことから、学習モデルの精度劣化を自動で検出する手法として、KL(Kullback-Leibler)距離や確信度を用いた手法が利用されている。
図2は、KL距離を用いた一般的な劣化検知を説明する図である。図2に示すように、精度の劣化前である学習終了段階において、学習データを判定(分類)したときに特徴空間の分布モデル1を保持しておき、運用開始後に判定対象の入力データを判定したときの特徴量空間の分布モデル2を定期的に測定して保持する。そして、分布モデル1と分布モデル2とのKL距離を算出し、算出した値が閾値以上の場合に、学習モデルの精度劣化を検知する。
図3は、確信度を用いた一般的な劣化検知を説明する図である。機械学習は、判定の確信度を共に出力することができる。例えば、深層学習(Deep Learning)の場合は、最終層の値であり、SVM(Support Vector Machine)の場合は、境界面からの距離である。SVMの場合、図3に示すように、精度の劣化前である学習終了段階において、学習データを判定(分類)したときに各クラスタの境界面からの距離の平均や分散などの統計量を保持しておき、運用開始後に判定対象の入力データを判定したときの統計量を定期的に測定して保持する。そして、各統計量を比較したり、運用時の統計量と閾値とを比較したりして、学習モデルの精度劣化を検知する。
このようなKL距離や確信度を用いた手法は、状況の変化や精度劣化を検出することができるが、精度が劣化した学習モデルを自動で修復することができない。また、実際の運用時に入力されるデータのラベルが自動に把握できないことも多い。その場合、メンテナンス時にラベル付けを行う必要があり、多大なコストがかかっている。
近年では、精度が劣化した学習モデルを自動で検出して修復する手法として、クラスタリングを用いた手法が利用されている。具体的には、運用開始後に判定対象の入力データの判定したときの特徴量空間をクラスタリングし、各クラスタにラベルを対応させてその結果を正解情報とすることで、再学習用の学習データ(以下では、単に「再学習データ」と記載する)を自動的に生成する。
ところが、必ずしも期待通りにクラスタできるとは限らない。図4は、クラスタリングの問題点を説明する図である。図4に示すように、K-means手法(K平均法)などを用いた場合、クラスタA、B、Cの境界があいまいな意図しないクラスタリングが実行されてしまい、正解情報を付与することが難しい事象が発生することがある。また、付与したラベルと同数のクラスタに分類されるとも限らず、事前にクラスタ数を設定することもできない。したがって、再学習データを自動的に生成することは難しい。
そこで、実施例1にかかる性能推定装置10は、分布の特徴として、同じラベルの塊は密度が高い点が(1つないし複数)あり、分布の外側に向かって密度が薄くなる場合が多くあるという特徴を利用して、クラスタ連結が起こった場合でも適切なクラスタリング を行う。このようにして、性能推定装置10は、学習モデルの精度劣化の自動検知と、学習モデルが判定した入力データと判定結果とを用いた再学習データの自動生成とを実現する。
[機能構成]
図5は、実施例1にかかる性能推定装置10の機能構成を示す機能ブロック図である。図5に示すように、図5に示すように、性能推定装置10は、通信部11、記憶部12、制御部20を有する。
図5は、実施例1にかかる性能推定装置10の機能構成を示す機能ブロック図である。図5に示すように、図5に示すように、性能推定装置10は、通信部11、記憶部12、制御部20を有する。
通信部11は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部11は、管理者端末から入力データを受信したり、各種指示を受信したりする。
記憶部12は、データや制御部20が実行するプログラムなどを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部12は、学習モデル13、入力データDB14、判定結果DB15、推定履歴DB16、再学習データDB17を記憶する。
また、記憶部12は、学習モデル13の学習に利用された学習データのデータセットを記憶することもできる。例えば、記憶部12は、学習データを識別する識別子、説明変数となる画像データ、目的変数となるラベル(正解情報)が対応付けられた各学習データを記憶する。
学習モデル13は、学習データを用いて学習された学習済みの機械学習モデルである。例えば、この学習モデル13は、画像データを入力されると、ネコや犬など動物名を出力するように学習された画像分類器である。なお、実施例1では、クラスA、クラスB、クラスCの3値に分類する学習モデル13を例にして説明する。
また、学習モデル13には、ニューラルネットワークやSVMなどを採用することができる。なお、記憶部12は、学習モデルそのものを記憶せずに、学習済みの学習モデルを構築することができる学習済みの各種パラメータ(最適化済みのパラメータ)を記憶することもできる。
入力データDB14は、学習モデル13に入力するデータである入力データを記憶するデータベースである。すなわち、入力データDB14は、判定対象となるデータを記憶する。図6は、入力データDB14に記憶される情報の一例を示す図である。図6に示すように、入力データDB14は、「データID、入力データ」を対応付けて記憶する。ここで記憶される「データID」は、データを識別する識別子であり、「入力データ」は、判定対象のデータである。
図6の例では、入力データ1に、データID=01が割り振られていることを示す。なお、入力データから取得できる特徴量をさらに対応付けておくこともできる。特徴量としては、画像データの画素値の平均値、画素値の最大値や最小値、最大値と最小値の差などである。また、入力データは、必ずしも記憶しておく必要はなく、データストリームように受信することもできる。
判定結果DB15は、入力データの判定結果を記憶するデータベースである。すなわち、判定結果DB15は、入力データを学習モデル13に入力して得られた判定結果を記憶する。図7は、判定結果DB15に記憶される情報の一例を示す図である。図7に示すように、判定結果DB15は、「データID、入力データ、判定結果」を対応付けて記憶する。
ここで記憶される「データID」は、データを識別する識別子であり、「入力データ」は、判定対象のデータであり、「判定結果」は、学習モデル13による判定結果である。図7の例では、データID=01である入力データ1が「クラスA」と判定されたことを示す。
推定履歴DB16は、後述する劣化推定部23により推定された履歴を記憶するデータベースである。例えば、推定履歴DB16は、入力データに対する劣化推定部23の推定結果、劣化推定部23が劣化検出のために生成した各種情報などを記憶する。
図8は、推定履歴DB16に記憶される情報の一例を示す図である。図8に示すように、推定履歴DB16は、「データID、入力データ、推定結果(クラスA,クラスB,クラスC)」を記憶する。ここで記憶される「データID」は、データを識別する識別子であり、「入力データ」は、判定対象のデータである。「推定結果」は、劣化推定部23による推定結果であり、各クラスに該当する確率(尤度)を示す。
図8の例では、データID=01である入力データ1に対して、クラスAである尤度が「1」、クラスBである尤度が「0」、クラスCである尤度が「0」と判定されたことを示す。また、データID=02である入力データ2に対して、クラスAである尤度が「0.4」、クラスBである尤度が「0」、クラスCである尤度が「0.6」と判定されたことを示す。
再学習データDB17は、学習モデル13の再学習に利用される再学習データを記憶するデータベースである。具体的には、再学習データDB17は、学習モデル13の精度劣化発生時に、学習モデルの精度を回復させるための再学習時の学習データを記憶する。再学習データは、学習データと同様、説明変数と目的変数を有するデータである。なお、詳細については後述する。
制御部20は、性能推定装置10全体を司る処理部であり、例えばプロセッサなどである。この制御部20は、モデル実行部21、事前処理部22、劣化推定部23、再学習部28を有する。なお、モデル実行部21、事前処理部22、劣化推定部23、再学習部28は、プロセッサなどが有する電子回路やプロセッサが実行するプロセスの一例である。
モデル実行部21は、学習モデル13を用いて、入力データの判定(分類)を実行する処理部である。すなわち、モデル実行部21は、学習モデル13を用いた実運用を実行する。例えば、モデル実行部21は、入力データDB14に記憶される各入力データを学習モデル13に入力し、学習モデル13の出力結果を取得する。そして、モデル実行部21は、入力データと出力結果に基づく判定結果とを対応付けて判定結果DB15に格納する。例えば、モデル実行部21は、学習モデル13の出力結果として各クラスの確率(尤度)を取得し、最も尤度が高いクラスを判定結果に決定する。
事前処理部22は、学習済みで運用開始前の学習モデル13の特徴量空間に関する情報を取得する処理部である。具体的には、事前処理部22は、モデル実行部21による判定が開始される前や学習モデル13の精度が劣化する前の特徴量空間に関する情報を取得して、記憶部12に格納する。
例えば、精度よく判定できている学習モデル13による特徴量の分布の特徴として、同じラベルの塊は密度が高い点があり、分布の外側に向かって密度が薄くなる場合が多くある。これを利用するため、事前処理部22は、式(1)に示したガウス密度を用いて、劣化前状態の特徴量空間の各データの密度に対応するものを計算する。なお、式(1)におけるNはデータ数を示し、σは標準偏差を示し、jはデータ数であり、確率変数xは例えば入力データ(特徴量)などである。
続いて、事前処理部22は、クラスタの数と各クラスタの中で密度が一定以上の領域の中心点(代表点)を記録する。図9は、クラスタ数と中心点との特定を説明する図である。図9に示すように、事前処理部22は、横軸を特徴量、縦軸を密度とするグラフを生成する。そして、事前処理部22は、既知である各クラスタについて、属するデータ(学習データ)のうち、密度が最も高い位置(中心点)の座標を特定して記憶部12に格納する。図9の例では、クラスタAとクラスタBを含むクラスタ数として2、クラスタAの中心点とクラスタBの中心点を含む2つの中心点が記憶される。
なお、中心点の座標には、データの特徴を示す情報を採用することができ、例えば学習モデル13から取得できる特徴量や、上記密度情報を採用することができる。また、特徴量には、例えばニューラルネットワークの最終層から取得できる情報、入力データそのものから取得できる情報、入力データの平均画素値などを採用することができる。また、劣化前の特徴量空間に分類されたデータの情報は、学習時に取得しておき、記憶部12等に保存しておくことで、上記処理に利用することができる。
劣化推定部23は、密度算出部24、クラスタリング部25、ラベル対応付け部26、劣化検出部27を有し、学習モデル13の精度劣化を検出する処理部である。例えば、劣化推定部23は、定期的、または、一定数の入力データの処理後のように、所定期間ごとに、学習モデル13の精度劣化を判定する。
密度算出部24は、学習モデル13の運用後の入力データに対する判定結果を用いて、各入力データの密度に対応する情報を算出する処理部である。例えば、密度算出部24は、運用が開始されると、モデル実行部21による判定処理を監視する。そして、密度算出部24は、モデル実行部21から、入力データが処理されるたびに、入力データの特徴量と判定結果とを対応付けて取得して記憶部12等に保持する。
その後、密度算出部24は、例えば劣化判定のタイミングになると、保持しておいた入力データの特徴量と式(1)を用いて、事前処理部22と同様の手法により各入力データの密度を算出する。そして、密度算出部24は、算出した密度と入力データとを対応付けて記憶部12に格納したり、算出した密度をクラスタリング部25に出力したりする。
クラスタリング部25は、事前処理部22により特定されたクラスタ数と中心点の数が一致する条件下で、入力データの密度に基づきクラスタとクラスタに属するデータとを抽出するクラスタリングを実行する処理部である。
図10は、運用後のクラスタリングを説明する図である。図10に示すように、クラスタリング部25は、モデル実行部21による判定結果に基づく入力データの特徴量や密度を用いて、横軸を特徴量、縦軸を密度とするグラフを生成する(S1)。続いて、クラスタリング部25は、密度に対する閾値を所定値ごとに下げていき、事前処理部22により特定されたクラスタ数(ここでは2)と同じ数になる最小の閾値を探索する(S2)。
このとき、クラスタリング部25は、閾値以上である入力データの特徴量に対してパーシステントホモロジ変換(PH変換)を実行して、0次元の連結成分を参照し、予め定めた閾値以上の半径を有するバー(bar)の数が事前に特定したクラスタ数と一致するか否かにより、クラスタ数の計算および特定を実行する(S3)。ここで、クラスタリング部25は、閾値を超えるバーの数が事前のクラスタ数と一致しない場合は、閾値を所定値下げて処理を繰り返す(S4)。
このように、クラスタリング部25は、密度の閾値を下げて密度が閾値以上の入力データを抽出する処理と、抽出された入力データに対するPH変換処理によりクラスタ数を計算する処理とを、事前のクラスタ数と一致するクラスタ数が検出されるまで繰り返す。そして、クラスタリング部25は、クラスタ数が一致すると、その時の閾値(密度)以上の密度を有する入力データから中心点C1とC2を特定する。その後、クラスタリング部25は、クラスタリングで得られる情報を記憶部12に格納したり、ラベル対応付け部26に出力したりする。
ここで、パーシステントホモロジ処理について説明する。ここで、「ホモロジ」とは、対象の特徴をm(m≧0)次元の穴の数によって表現する手法である。ここで言う「穴」とはホモロジ群の元のことであり、0次元の穴は連結成分であり、1次元の穴は穴(トンネル)であり、2次元の穴は空洞である。各次元の穴の数はベッチ数と呼ばれる。そして、「パーシステントホモロジ」とは、対象(ここでは、点の集合(Point Cloud))におけるm次元の穴の遷移を特徴付けるための手法であり、パーシステントホモロジによって点の配置に関する特徴を調べることができる。この手法においては、対象における各点が球状に徐々に膨らまされ、その過程において各穴が発生した時刻(発生時の球の半径で表される)と消滅した時刻(消滅時の球の半径で表される)とが特定される。
図11を用いて、パーシステントホモロジをより具体的に説明する。図11は、パーシステントホモロジを説明する図である。ルールとして、1つの球が接した場合には2つの球の中心が線分で結ばれ、3つの球が接した場合には3つの球の中心が線分で結ばれる。ここでは、連結成分及び穴だけを考える。図11(a)のケース(半径r=0)においては、連結成分のみが発生し、穴は発生していない。図11(b)のケース(半径r=r1)においては、穴が発生しており、連結成分の一部が消滅している。図11(c)のケース(半径r=r2)においては、さらに多くの穴が発生しており、連結成分は1つだけ持続している。図11(d)のケース(半径r=r3)においては、連結成分の数は1のままであり、穴が1つ消滅している。
パーシステントホモロジの計算過程において、ホモロジ群の元(すなわち穴)の発生半径と消滅半径とが計算される。穴の発生半径と消滅半径とを使用することで、バーコードデータを生成することができる。バーコードデータは穴次元毎に生成されるので、複数の穴次元のバーコードデータを統合することで1塊のバーコードデータが生成できる。連続データは、パーシステントホモロジにおける球の半径(すなわち時間)とベッチ数との関係を示すデータである。
なお、ここで、一般的なバーコードデータの生成について簡単に説明する。図12は、バーコードデータを説明する図である。図12のグラフは、図11における0次元の穴(連結成分)に基づくバーコードデータから生成されるグラフであり、横軸が半径を表す。
つまり、クラスタリング部25は、0次元のバーコードデータを元に、閾値よりも長いバーの数を計測することで、入力データのクラスタ数を特定することができる。例えば、クラスタリング部25は、閾値以上のバーが2つのときに、学習データと同じクラスタ数と判定したとする。このとき、クラスタリング部25は、各バーについて、属する入力データのうち最も密度が高いデータを特定することで、上記中心点C1とC2の各座標を特定することができる。
図5に戻り、ラベル対応付け部26は、クラスタリング部25によるクラスタリング結果に基づき、入力データに新たなラベルを対応付ける処理部である。具体的には、ラベル対応付け部26は、密度がクラスタリング部25により決定された閾値以上の入力データに対して、それぞれが属するクラスタに基づくラベル付けを行った後、閾値未満の入力データに対して、各クラスタに属する確率に基づくラベル付けを行う。
まず、ラベル対応付け部26は、クラスタリング部25により特定された各中心点(C1とC2)が属するクラスタを特定し、クラスタリング部25により抽出された閾値以上の入力データにラベルを対応付ける。
図13は、クラスタ割当てを説明する図である。図13に示すように、ラベル対応付け部26は、PH処理によりクラスタ数が2の状態で最小となった閾値以上の入力データと、2つの中心点(C1とC2)とをクラスタリング部25から取得する。続いて、ラベル対応付け部26は、2つの中心点(C1とC2)について、それまでの劣化判定タイミングで算出された中心点の履歴とのマッチング処理に基づき、2つの中心点それぞれが属するクラスタを決定する。
図14は、マッチング処理を説明する図である。図14に示すように、ラベル対応付け部26は、学習完了時から現在に至るまでに特定された各クラスタの中心点を特徴量空間にマッピングし、進行方向を推定して、現在抽出された2つの中心点(C1とC2)それぞれのクラスタを決定する。ここで、単に一番近い中心点のマッチングでは、中心点の変動を加味すると妥当でないことがある。図14の(a)ように中心点が変動していて、新しい2点を新たにマッチングする場合、近い点でマッチングすると図14の(b)のようになるが、これは変動の方向からは不自然な動きである。図14の(c)のように変動する方が自然である。
そこで、ラベル対応付け部26は、補正距離を導入する。例えば、進行方向に進む場合はより近い点と判断する仕組みを導入し、前回の点からの進行方向ベクトルと支点と目的点を結ぶベクトルの内積を計算することで、進行方向を特定する。例を挙げると、ラベル対応付け部26は、内積の値をcとして、(tanh(c)+1)/2を重みとして2点間の距離に乗算した値を補正距離として、最近傍点を選択する。
図13の例では、ラベル対応付け部26は、中心点C1にクラスタA(ラベル=クラスA)を対応付け、中心点C2にクラスタB(ラベル=クラスB)を対応付けたとする。この結果、ラベル対応付け部26は、密度が閾値以上、かつ、中心点C1と同じクラスタに属する各入力データにラベルとしてクラスAを設定する。同様に、ラベル対応付け部26は、密度が閾値以上、かつ、中心点C2と同じクラスタに属する各入力データにラベルとしてクラスBを設定する。なお、各入力データが属するクラスタの特定は、図13のようなグラフで特定することもでき、各中心点からの距離のうち最も短い距離の中心点と同じクラスタと特定することもできる。
次に、クラスタリング部25により抽出されなかった閾値未満の入力データそれぞれにラベルを対応付ける。図15は、運用後のクラスタリングの続きを説明する図である。ラベル対応付け部26は、抽出されなかった各入力データについて、各クラスタの中心C1との距離およびC2との距離をそれぞれ計測し、2番目に近い距離が各クラスタの中心間の距離の最大値より大きい場合は、一番近いクラスタに属するデータと決定する。
図15の例の場合、ラベル対応付け部26は、上記手法によりクラスタが決定された領域X(クラスタA)と領域Y(クラスタB)以外の領域のうち、領域Xよりも外側の領域Pの入力データについては、クラスタAと決定し、領域Yよりも外側の領域Qの入力データについては、クラスタBと決定する。
そして、ラベル対応付け部26は、2番目に近い距離が各クラスタの中心間の距離の最大値より小さい(複数のクラスタの中間にある)領域Zの入力データについては、近くにある複数のクラスタのデータが混在していると判定し、各入力データに関して各クラスタの確率を測定して付与する。具体的には、ラベル対応付け部26は、k近傍法、一様確率法、分布比率保持法などを用いて、領域Zに属する各入力データについて、各クラスタに属する確率を算出し、確率的なラベル(クラスAの確率、クラスBの確率、クラスCの確率)を生成して付与する。
例えば、ラベル対応付け部26は、領域Zに属する各入力データに対して、その入力データに近傍に位置するすでにラベル付けされた入力データをk個抽出し、その割合がクラスA=0.6、クラスB=0.4、クラスC=0であれば、その割合をラベルとして付与する。
また、ラベル対応付け部26は、領域Zに属する各入力データに対して、各クラスタにすべて同じ確率を付与する。例えば、ラベル対応付け部26は、2クラス分類の場合には、クラスA=0.5、クラスB=0.5をラベルとして付与し、3クラス分類の場合には、クラスA=0.3、クラスB=0.3、クラスC=0.3などをラベルとして付与する。
また、ラベル対応付け部26は、領域Zに属する各入力データに対して、運用時と学習時の各クラスタのデータ数の比率が同じと考え、ラベル未定のデータの比率を計算し、その比率をラベルとして付与する。例えば、ラベル対応付け部26は、学習データのクラスAとクラスBの割合が5:5で、ラベル設定済みであるクラスAのデータ数とクラスYのデータ数との割合が6:4のとき、再学習データ全体の割合が5:5になるように、領域Zの各入力データにラベルを設定する。
上述した手法により推定して、各入力データに付与するラベルの情報が図16である。図16は、入力データへのラベル付けを説明する図である。推定されたラベルは、各クラスタに属する確率(クラスAに属する確率,クラスBに属する確率,クラスCに属する確率)で付与される。図16に示すように、領域Xと領域Pの各入力データには、推定ラベル[1,0,0]が付与され、領域Yと領域Qの各入力データには、推定ラベル[0,1,0]が付与され、領域Zの各入力データには、推定ラベル[a,b,c]が付与される。なお、a,b,cは、k近傍法などの手法により算出される確率である。そして、ラベル対応付け部26は、各入力データと推定ラベルとの対応付けを記憶部12に格納したり、劣化検出部27に出力したりする。
図5に戻り、劣化検出部27は、学習モデル13の精度劣化を検出する処理部である。具体的には、劣化検出部27は、モデル実行部21により学習モデル13の判定結果と、ラベル対応付け部26により生成された推定結果(推定ラベル)との比較により、学習モデル13の精度劣化を検出する。
図17は、モデル精度の劣化判定を説明する図である。図17に示すように、劣化検出部27は、入力データが学習モデル13に入力された得られた出力結果(クラスA)に基づき、判定結果[1,0,0]を生成する。一方で、劣化検出部27は、入力データに対して上記推定処理により、領域Xまたは領域Pに属した場合の推定結果[1,0,0]、領域Yまたは領域Qに属した場合の推定結果[0,1,0]、または、領域Zに属した場合の推定結果[a,b,c]を取得する。
このようにして、劣化検出部27は、各入力データについて、判定結果と推定結果とを取得し、これらの比較により劣化判定を実行する。例えば、劣化検出部27は、各推定結果で示される各入力データ(各点)の確率ベクトルに対し、学習モデル13による判定結果のベクトル表示の成分積の和(内積)をその点のスコアとし、そのスコアの合計をデータ数で割った値と閾値との比較により、劣化判定を実行する。
図18は、モデル精度の判定の詳細を説明する図である。図18に示すように、各入力データに対して、学習モデルの判定結果と推定結果とを取得する。例えば、入力データ1は、学習モデル13によりクラスAと判定されたことから判定結果は[1,0,0]であり、ラベル対応付け部26によりクラスタAに属すると推定されたことから推定結果は[1,0,0]である。同様に、入力データ2は、学習モデル13によりクラスBと判定されたことから判定結果は[0,1,0]であり、ラベル対応付け部26により領域Zに属すると推定されて算出された確率に基づき推定結果は[0.5,0.5,0]である。
そして、劣化検出部27は、各入力データの学習モデル13の判定結果の行列と、各入力データの推定結果の行列とを生成し、要素積の和を算出し、要素積の和をデータ数で除算することで、推定の精度(スコア)を算出する。そして、劣化検出部27は、推定の精度が閾値未満である場合に、学習モデル13の精度が劣化状態であると検出する。
図5に戻り、再学習部28は、劣化検出部27により精度劣化が検出された場合に、学習モデル13の再学習を実行する処理部である。例えば、再学習部28は、劣化検出部27により推定された推定結果を正解情報とする再学習データを生成する。そして、再学習部28は、再学習データを用いて学習モデル13を再学習し、再学習後の学習モデル13を記憶部12に格納する。
図19は、再学習を説明する図である。図19に示すように、再学習部28は、各入力データに対する推定結果を取得し、入力データを説明変数、推定結果を目的変数とする再学習データを生成する。例えば、再学習部28は、[説明変数、目的変数]として[入力データ1、(1,0,0)]や[入力データ2、(0.5,0.5,0)]などを生成する。そして、再学習部28は、再学習データを学習モデル13に入力して、学習モデル13の出力結果と目的変数との差分に基づき、誤差逆伝搬法などを用いて、学習モデル13の再学習を実行する。なお、再学習の手法は、誤差逆伝搬法などを採用することができる。また、再学習を終了するタイミングは、すべての再学習データによる学習が完了した場合や復元誤差が閾値未満となった場合など任意に設定することができる。
[処理の流れ]
図20は、処理の流れを示すフローチャートである。図20に示すように、学習モデル13の学習が完了すると(S101:Yes)、事前処理部22は、各学習データの密度を算出する(S102)。
図20は、処理の流れを示すフローチャートである。図20に示すように、学習モデル13の学習が完了すると(S101:Yes)、事前処理部22は、各学習データの密度を算出する(S102)。
続いて、事前処理部22は、クラスタリングを実行し(S103)、クラスタ数と各クラスタの中心点とを記録する(S104)。なお、このタイミングでは、学習が完了しており、既知のクラスが正確に分類できている状態であることから、クラスタ数も既知であるので、クラスタリングを省略することもできる。
その後、モデル実行部21は、入力データDB14から入力データを読み込み(S105)、学習モデル13に入力して判定結果を取得する(S106)。ここで、所定回数の判定が終了していない場合(S107:No)、劣化判定タイミングではないと判定され、S105以降が繰り返される。
一方、所定回数の判定が終了している場合(S107:Yes)、劣化推定部23は、劣化判定タイミングであると判定し、学習モデル13に入力された各入力データに対して密度を算出する(S108)。続いて、劣化推定部23は、クラスタリングを実行してクラスタ数の計算と各クラスタに属するデータ抽出を実行する(S109)。
そして、劣化推定部23は、各入力データの推定結果を算出し(S110)、学習モデル13による判定結果と、劣化推定部23による推定結果とを用いて、劣化判定のスコアを算出する(S111)。
ここで、劣化推定部23は、スコアが閾値以上の場合(S112:No)、精度劣化が進んでいないと判定し、S105以降を繰り返す。
一方、スコアが閾値未満の場合(S112:Yes)、再学習部28は、精度劣化が進んでいると判定し、推定結果を正解情報とする再学習データを生成し(S113)、再学習データを用いて学習モデル13の再学習を実行する(S114)。その後は、再学習済みの学習モデル13に対してS101以降が実行される。
[効果]
上述したように、性能推定装置10は、学習モデル13の精度劣化を自動で検出できるととともに、判定に使用された入力データセットを用いて新たな学習データを自動で生成することができる。したがって、性能推定装置10は、学習モデル13の精度劣化が発生したタイミングで、学習モデル13の再学習を実行することができ、学習モデルの精度劣化を抑制することができる。また、性能推定装置10は、再学習用のデータを自動で生成することができるので、再学習にかかる処理負荷を軽減できるとともに、再学習にかかる時間を短縮することができる。つまり、性能推定装置10は、リアルタイムの精度監視、精度の自動修復、再学習の省力化を実現することができる。
上述したように、性能推定装置10は、学習モデル13の精度劣化を自動で検出できるととともに、判定に使用された入力データセットを用いて新たな学習データを自動で生成することができる。したがって、性能推定装置10は、学習モデル13の精度劣化が発生したタイミングで、学習モデル13の再学習を実行することができ、学習モデルの精度劣化を抑制することができる。また、性能推定装置10は、再学習用のデータを自動で生成することができるので、再学習にかかる処理負荷を軽減できるとともに、再学習にかかる時間を短縮することができる。つまり、性能推定装置10は、リアルタイムの精度監視、精度の自動修復、再学習の省力化を実現することができる。
図21は、実施例1による効果を説明する図である。図21では、入力データセットとして、MNIST(Mixed National Institute of Standards and Technology database)を用いたときの学習モデル13の性能変化(モデル性能)と、性能推定装置10による推定性能の変化とを図示している。なお、縦軸は精度であり、横軸は時間経過すなわち入力データが時間変化により回転することから回転角度である。図21に示すように、性能推定装置10による推定性能の変化は、モデル性能と同様の変化を示している。したがって、実施例1で説明した性能推定装置10により、学習モデル13の精度をリアルタイムに監視することができることがわかる。
ところで、実施例1では、一定数の判定処理が実行されたタイミングで推定結果を生成して精度劣化を判定し、精度劣化が検出された場合に、推定結果に基づく再学習データを生成して、学習モデル13の再学習を実行する例を説明したが、再学習を行うタイミングはこれに限定されるものではない。例えば、推定結果を用いて、学習モデル13を逐次的に修正することで、学習モデル13の適用範囲を広げることができ、精度劣化の発生を抑制することができる。
図22は、実施例2の再学習を説明する図である。図22に示すように、実施例1にかかる性能推定装置10は、一定数の判定結果が蓄積されると、判定に利用された各入力データから推定結果を生成し、推定結果を用いて劣化判定が実行される。その後、実施例1にかかる性能推定装置10は、精度劣化を検出すると、推定結果を正解情報とする再学習データを生成して、学習モデル13の逐次修正を実行する。
これに対して、実施例2にかかる性能推定装置10は、一定数の判定結果が蓄積されると、実施例1と同様、データ密度の算出、中央点の特定、クラスタリング、中央点のマッチング等を実行して、処理された順に入力データの推定結果を生成する。その後、性能推定装置10は、実施例1とは異なり、推定結果を蓄積した上で精度劣化の検出を実行することなく、推定結果が生成されるたびに、推定結果を正解情報とする再学習データにより学習モデル13を学習する。つまり、精度劣化を待たずに、学習モデル13の逐次修正が実行される。
このようにすることで、学習モデル13の適用範囲を精度劣化の発生前に広げることができ、精度劣化の発生を抑制することができる。図23は、実施例2の効果を説明する図である。図22では、入力データセットとして、MNISTを用いたときの学習モデル13の性能変化(モデル性能)と、実施例2による逐次修正である適応進化学習を行ったときの学習モデル13の性能変化とを図示している。なお、縦軸は精度であり、横軸は時間経過(回転角度)である。
図22に示すように、適応進化学習を行わない場合、学習モデル13の精度は時間経過とともに劣化していく。一方で、適応進化学習を行った場合、時間経過とともに劣化する速度を抑制することができる。したがって、実施例1による手法に比べて、判定精度が許容できる範囲(許容性能)以上となる期間を長期的に維持することができる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
[再学習データ]
実施例1では、各入力データに対して推定結果を正解情報として設定する例を説明したが、これに限定されるものではない。具体的には、推定結果の確率が一定以下のデータに対して手動でラベルづけを行うことで、すべてをラベル付けする場合に比べて、ラベル付けの工数を削減することができる。
実施例1では、各入力データに対して推定結果を正解情報として設定する例を説明したが、これに限定されるものではない。具体的には、推定結果の確率が一定以下のデータに対して手動でラベルづけを行うことで、すべてをラベル付けする場合に比べて、ラベル付けの工数を削減することができる。
例えば、図18の例では、推定結果であるクラスA、クラスB、クラスCの確率のうち、閾値(例えば0.3)以下の確率を有する入力データや、最大の確率と最小の確率の差が閾値以下の入力データについては、推定結果を使用せずに、手動によりラベル付けを行う。このようにすることで、再学習データから信頼性の低いデータを除くことができ、再学習精度の向上を図ることができる。
また、実施例1で算出した推定の精度(スコア)により再学習データを選択することもできる。例えば、性能推定装置10は、推定の精度(スコア)が、精度劣化を検出する第1の閾値未満かつ第2の閾値以上である場合、すべての推定結果を用いて再学習データを生成する。また、性能推定装置10は、推定の精度(スコア)が第2の閾値未満である場合、推定結果からランダムに半分を選択して再学習データを生成するとともに、手動でラベル付けを行った再学習データを生成する。
[学習と再学習]
例えば、学習時のデータが少ない時、学習しても十分な精度が得られないことがある。この状態で運用を開始した場合、取得した入力データを上記の手法によりラベル付けし、はじめからある学習データと新たに生成した学習データとの両方を用いて、学習モデル13を学習することもできる。この結果、運用開始当初は性能が低い学習モデル13を高性能な学習モデルへと自動で向上させることができる。
例えば、学習時のデータが少ない時、学習しても十分な精度が得られないことがある。この状態で運用を開始した場合、取得した入力データを上記の手法によりラベル付けし、はじめからある学習データと新たに生成した学習データとの両方を用いて、学習モデル13を学習することもできる。この結果、運用開始当初は性能が低い学習モデル13を高性能な学習モデルへと自動で向上させることができる。
[クラスタ数の計算]
上記実施例では、PH変換を用いて、クラスタ数を計算する例を説明したが、これに限定されるものではない。例えば、「DTM-based filtration」などのパーシステントダイアグラムを用いることができる。図24は、DTMを用いたクラスタ数の計算を説明する図である。図24は、横軸を発生時刻(Birth)、縦軸を消滅時刻(Death)とするダイアグラムである。図24に示すように、予め定めた閾値(対角線)からの距離が閾値以上の点の数により、クラスタ数を計算することができる。
上記実施例では、PH変換を用いて、クラスタ数を計算する例を説明したが、これに限定されるものではない。例えば、「DTM-based filtration」などのパーシステントダイアグラムを用いることができる。図24は、DTMを用いたクラスタ数の計算を説明する図である。図24は、横軸を発生時刻(Birth)、縦軸を消滅時刻(Death)とするダイアグラムである。図24に示すように、予め定めた閾値(対角線)からの距離が閾値以上の点の数により、クラスタ数を計算することができる。
[特徴量の利用]
上記実施例では、入力データの特徴量を用いる例を説明したが、これに限定されるものではなく、入力データの特徴を示す情報であればよく、機械学習などで利用される様々な特徴量を採用することもできる。また、特徴量空間は、入力データから得られる特徴量を座標とする空間の一例であり、実施例1で2次元の空間を例示したが、これに限定されるものではなく、機械学習や深層学習で利用される各種特徴量空間を用いることができる。例えば、モデル適用領域(Applicability Domain)を表す特徴量空間を用いることができる。
上記実施例では、入力データの特徴量を用いる例を説明したが、これに限定されるものではなく、入力データの特徴を示す情報であればよく、機械学習などで利用される様々な特徴量を採用することもできる。また、特徴量空間は、入力データから得られる特徴量を座標とする空間の一例であり、実施例1で2次元の空間を例示したが、これに限定されるものではなく、機械学習や深層学習で利用される各種特徴量空間を用いることができる。例えば、モデル適用領域(Applicability Domain)を表す特徴量空間を用いることができる。
[密度の計算]
実施例1では、ガウス密度を用いる例を説明したが、これに限定されるものではなく、eccentricityやKNN距離(K-Nearest Neighbor algorithm)など、公知の様々な手法を用いることができる。なお、ガウス密度などは、値が大きいほど密度が高いが、KNN距離は、値(距離)が小さいほど密度が高くなるので、代表点の特定も密度が最も小さい点が選択される。
実施例1では、ガウス密度を用いる例を説明したが、これに限定されるものではなく、eccentricityやKNN距離(K-Nearest Neighbor algorithm)など、公知の様々な手法を用いることができる。なお、ガウス密度などは、値が大きいほど密度が高いが、KNN距離は、値(距離)が小さいほど密度が高くなるので、代表点の特定も密度が最も小さい点が選択される。
[数値等]
また、上記実施例で用いた数値、各閾値、特徴量空間、クラスタの数、ラベルの数等は、あくまで一例であり、任意に変更することができる。また、入力データや学習方法などもあくまで一例であり、任意に変更することができる。また、学習モデルには、ニューラルネットワークなど様々な手法を採用することができる。
また、上記実施例で用いた数値、各閾値、特徴量空間、クラスタの数、ラベルの数等は、あくまで一例であり、任意に変更することができる。また、入力データや学習方法などもあくまで一例であり、任意に変更することができる。また、学習モデルには、ニューラルネットワークなど様々な手法を採用することができる。
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[ハードウェア]
図25は、ハードウェア構成例を説明する図である。図25に示すように、性能推定装置10は、通信装置10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図25に示した各部は、バス等で相互に接続される。
図25は、ハードウェア構成例を説明する図である。図25に示すように、性能推定装置10は、通信装置10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図25に示した各部は、バス等で相互に接続される。
通信装置10aは、ネットワークインタフェースカードなどであり、他の装置との通信を行う。HDD10bは、図5に示した機能を動作させるプログラムやDBを記憶する。
プロセッサ10dは、図5に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、図5等で説明した各機能を実行するプロセスを動作させる。例えば、このプロセスは、性能推定装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、モデル実行部21、事前処理部22、劣化推定部23、再学習部28等と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、モデル実行部21、事前処理部22、劣化推定部23、再学習部28等と同様の処理を実行するプロセスを実行する。
このように、性能推定装置10は、プログラムを読み出して実行することで性能推定方法を実行する情報処理装置として動作する。また、性能推定装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、性能推定装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
10 性能推定装置
11 通信部
12 記憶部
13 学習モデル
14 入力データDB
15 判定結果DB
16 推定履歴DB
17 再学習データDB
20 制御部
21 モデル実行部
22 事前処理部
23 劣化推定部
24 密度算出部
25 クラスタリング部
26 ラベル対応付け部
27 劣化検出部
28 再学習部
11 通信部
12 記憶部
13 学習モデル
14 入力データDB
15 判定結果DB
16 推定履歴DB
17 再学習データDB
20 制御部
21 モデル実行部
22 事前処理部
23 劣化推定部
24 密度算出部
25 クラスタリング部
26 ラベル対応付け部
27 劣化検出部
28 再学習部
Claims (13)
- コンピュータに、
入力データに応じたラベルの推定を行う学習モデルの学習に用いた複数の学習データを含む学習データセットについての特徴量空間におけるクラスタリングによって生成された、推定対象の各ラベルに対応する各クラスタの代表点を特定し、
入力データセットに含まれる複数の入力データについての特徴量空間におけるクラスタリングの結果である各クラスタの境界を、クラスタの数と前記代表点の数が一致する条件下で設定し、
前記境界に基づいて決定される前記入力データセットのクラスタと、前記学習データセットのクラスタと、の対応関係に基づいて、前記複数の入力データに対する前記ラベルの推定結果を取得し、
前記複数の入力データに対して前記学習モデルを用いて判定される前記ラベルの判定精度を、前記推定結果に基づいて推定する
処理を実行させることを特徴とする推定プログラム。 - 前記特定する処理は、前記学習データセットについての前記特徴量空間における各学習データの密度を算出し、前記各ラベルに対応する各クラスタについて、属する各学習データの密度が最も高い各学習データを、前記各クラスタの前記代表点と特定することを特徴とする請求項1に記載の推定プログラム。
- 前記入力データセットの前記特徴量空間における前記複数の入力データの密度を算出し、
閾値以上の密度に対応する1以上の入力データを抽出し、抽出した前記1以上の入力データに対してパーシステントホモロジ変換処理を実行して得られる所定値以上の0次元の連結情報の数に基づいて、前記クラスタの数を計算し、
前記クラスタの数が前記学習データセットから特定された前記代表点の数と一致するまで、前記閾値を変更しつつ前記クラスタの数を計算して、前記入力データセットに含まれる複数の入力データに対する前記各クラスタを特定し、
前記入力データセットに含まれる複数の入力データに対して、特定された前記各クラスタに対応するラベルを付与する処理を前記コンピュータにさらに実行させることを特徴とする請求項2に記載の推定プログラム。 - 前記設定する処理は、前記代表点と一致する前記クラスタの数が特定されたときの前記所定値以上である複数の前記0次元の連結情報それぞれを構成する入力データの集合である各該当入力データ群について、最も高い密度を有する入力データを前記代表点に特定し、特定した各代表点と前記学習データセットから特定された各代表点との対応関係に基づき、前記各該当入力データ群にクラスタを対応付け、
前記付与する処理は、前記各該当入力データ群に対して、対応付けられた前記各クラスタに対応するラベルを付与することを特徴とする請求項3に記載の推定プログラム。 - 前記設定する処理は、前記該当入力データ群に属さない他の入力データについて、前記密度に基づく前記代表点との距離を算出し、2番目に近い距離が各クラスタの代表点間の距離の最大値よりも大きい場合は、1番目に距離が近いクラスタを対応付け、
前記付与する処理は、前記他の入力データに対して、対応付けられた前記クラスタに対応するラベルを付与することを特徴とする請求項4に記載の推定プログラム。 - 前記設定する処理は、前記他の入力データについて、前記2番目に近い距離が各クラスタの代表点間の距離の最大値よりも小さい場合は、所定条件に基づく確率手法により各クラスタに属する確率を算出し、
前記付与する処理は、前記他の入力データに対して、各クラスタに属する確率をラベルとして付与することを特徴とする請求項5に記載の推定プログラム。 - 前記取得する処理は、前記複数の入力データと前記複数の入力データ対してクラスタリングにより設定された前記ラベルとの組み合わせを前記推定結果として取得し、
前記推定する処理は、前記複数の入力データに対する判定結果に基づく行列と、前記複数の入力データに対する推定結果に基づく行列との要素積を算出し、前記要素積を前記入力データの数で除算した値が閾値未満の場合に、前記学習モデルの精度劣化を検出することを特徴とする請求項6に記載の推定プログラム。 - 前記学習モデルの精度劣化が検出された場合に、前記入力データと前記推定結果との組み合わせたデータを再学習データ、または、前記学習に用いられた前記学習データと前記組み合わせたデータとの両方を前記再学習データに用いて、前記学習モデルの再学習を実行する処理を前記コンピュータにさらに実行させることを特徴とする請求項7に記載の推定プログラム。
- コンピュータが、
入力データに応じたラベルの推定を行う学習モデルの学習に用いた複数の学習データを含む学習データセットについての特徴量空間におけるクラスタリングによって生成された、推定対象の各ラベルに対応する各クラスタの代表点を特定し、
入力データセットに含まれる複数の入力データについての特徴量空間におけるクラスタリングの結果である各クラスタの境界を、クラスタの数と前記代表点の数が一致する条件下で設定し、
前記境界に基づいて決定される前記入力データセットのクラスタと、前記学習データセットのクラスタと、の対応関係に基づいて、前記複数の入力データに対する前記ラベルの推定結果を取得し、
前記複数の入力データに対して前記学習モデルを用いて判定される前記ラベルの判定精度を、前記推定結果に基づいて推定する
処理を実行することを特徴とする推定方法。 - 入力データに応じたラベルの推定を行う学習モデルの学習に用いた複数の学習データを含む学習データセットについての特徴量空間におけるクラスタリングによって生成された、推定対象の各ラベルに対応する各クラスタの代表点を特定する特定部と、
入力データセットに含まれる複数の入力データについての特徴量空間におけるクラスタリングの結果である各クラスタの境界を、クラスタの数と前記代表点の数が一致する条件下で設定する設定部と、
前記境界に基づいて決定される前記入力データセットのクラスタと、前記学習データセットのクラスタと、の対応関係に基づいて、前記複数の入力データに対する前記ラベルの推定結果を取得する取得部と、
前記複数の入力データに対して前記学習モデルを用いて判定される前記ラベルの判定精度を、前記推定結果に基づいて推定する推定部と
を有することを特徴とする情報処理装置。 - コンピュータに、
入力データに応じたラベルの推定を行う学習モデルの学習に用いた複数の学習データを含む学習データセットについての特徴量空間におけるクラスタリングによって生成された、推定対象の各ラベルに対応する各クラスタの代表点を特定し、
入力データセットに含まれる複数の入力データについての特徴量空間におけるクラスタリングの結果である各クラスタの境界を、クラスタの数と前記代表点の数が一致する条件下で設定し、
前記境界に基づいて決定される前記入力データセットのクラスタと、前記学習データセットのクラスタと、の対応関係に基づいて、前記複数の入力データに対する前記ラベルの推定結果を取得し、
取得した前記推定結果と前記複数の入力データに基づいて生成される第2の学習データセットを用いて、前記学習モデルを再学習する
処理を実行させることを特徴とする再学習プログラム。 - コンピュータが、
入力データに応じたラベルの推定を行う学習モデルの学習に用いた複数の学習データを含む学習データセットについての特徴量空間におけるクラスタリングによって生成された、推定対象の各ラベルに対応する各クラスタの代表点を特定し、
入力データセットに含まれる複数の入力データについての特徴量空間におけるクラスタリングの結果である各クラスタの境界を、クラスタの数と前記代表点の数が一致する条件下で設定し、
前記境界に基づいて決定される前記入力データセットのクラスタと、前記学習データセットのクラスタと、の対応関係に基づいて、前記複数の入力データに対する前記ラベルの推定結果を取得し、
取得した前記推定結果と前記複数の入力データに基づいて生成される第2の学習データセットを用いて、前記学習モデルを再学習する
処理を実行することを特徴とする再学習方法。 - 入力データに応じたラベルの推定を行う学習モデルの学習に用いた複数の学習データを含む学習データセットについての特徴量空間におけるクラスタリングによって生成された、推定対象の各ラベルに対応する各クラスタの代表点を特定する特定部と、
入力データセットに含まれる複数の入力データについての特徴量空間におけるクラスタリングの結果である各クラスタの境界を、クラスタの数と前記代表点の数が一致する条件下で設定する設定部と、
前記境界に基づいて決定される前記入力データセットのクラスタと、前記学習データセットのクラスタと、の対応関係に基づいて、前記複数の入力データに対する前記ラベルの推定結果を取得する取得部と、
取得した前記推定結果と前記複数の入力データに基づいて生成される第2の学習データセットを用いて、前記学習モデルを再学習する再学習部と
を有することを特徴とする情報処理装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19949698.5A EP4050527A4 (en) | 2019-10-23 | 2019-10-23 | ESTIMATION PROGRAM, ESTIMATION METHOD, INFORMATION PROCESSING DEVICE, RELEARNING PROGRAM AND RELEARNING METHOD |
JP2021553212A JP7276488B2 (ja) | 2019-10-23 | 2019-10-23 | 推定プログラム、推定方法、情報処理装置、再学習プログラムおよび再学習方法 |
PCT/JP2019/041581 WO2021079442A1 (ja) | 2019-10-23 | 2019-10-23 | 推定プログラム、推定方法、情報処理装置、再学習プログラムおよび再学習方法 |
US17/723,599 US20220237407A1 (en) | 2019-10-23 | 2022-04-19 | Storage medium, estimation method, and information processing device, relearning program, and relearning method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/041581 WO2021079442A1 (ja) | 2019-10-23 | 2019-10-23 | 推定プログラム、推定方法、情報処理装置、再学習プログラムおよび再学習方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/723,599 Continuation US20220237407A1 (en) | 2019-10-23 | 2022-04-19 | Storage medium, estimation method, and information processing device, relearning program, and relearning method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021079442A1 true WO2021079442A1 (ja) | 2021-04-29 |
Family
ID=75619695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/041581 WO2021079442A1 (ja) | 2019-10-23 | 2019-10-23 | 推定プログラム、推定方法、情報処理装置、再学習プログラムおよび再学習方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220237407A1 (ja) |
EP (1) | EP4050527A4 (ja) |
JP (1) | JP7276488B2 (ja) |
WO (1) | WO2021079442A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023053216A1 (ja) | 2021-09-28 | 2023-04-06 | 富士通株式会社 | 機械学習プログラム、機械学習方法および機械学習装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7419035B2 (ja) * | 2019-11-22 | 2024-01-22 | キヤノン株式会社 | 学習モデル管理システム、学習モデル管理方法、およびプログラム |
CN111178435B (zh) * | 2019-12-30 | 2022-03-22 | 山东英信计算机技术有限公司 | 一种分类模型训练方法、系统、电子设备及存储介质 |
US11594015B1 (en) * | 2022-07-26 | 2023-02-28 | Finite Carbon Corporation | Detecting changes in forest composition |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101768438B1 (ko) * | 2013-10-30 | 2017-08-16 | 삼성에스디에스 주식회사 | 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템 |
-
2019
- 2019-10-23 JP JP2021553212A patent/JP7276488B2/ja active Active
- 2019-10-23 WO PCT/JP2019/041581 patent/WO2021079442A1/ja unknown
- 2019-10-23 EP EP19949698.5A patent/EP4050527A4/en active Pending
-
2022
- 2022-04-19 US US17/723,599 patent/US20220237407A1/en active Pending
Non-Patent Citations (4)
Title |
---|
KIM YOUNGIN, PARK CHEONG HEE: "An Efficient Concept Drift Detection Method for Streaming Data under Limited Labeling", IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, INFORMATION & SYSTEMS SOCIETY, TOKYO., JP, vol. E100.D, no. 10, 10 October 2017 (2017-10-10), JP, pages 2537 - 2546, XP055819275, ISSN: 0916-8532, DOI: 10.1587/transinf.2017EDP7091 * |
SAKAMOTO, YUSUKE; FUKUI, KENICHI; NICKLAS, DANIELA; MORIYAMA, KOICHI; NUMAO, MASAYUKI: "Initial Experiment to Detect Concept Drift on Adaptive Monitoring System", JSAI TECHNICAL REPORT, SIG-KBS, vol. SIG-KBS-B401-5, 24 July 2014 (2014-07-24), Japan, pages 26 - 33, XP009535384, ISSN: 2436-4592, DOI: 10.11517/jsaikbs.102.0_05 * |
See also references of EP4050527A4 |
SETHI, TEGJYOT SINGHMEHMED KANTARDZIC: "On the reliable detection of concept drift from streaming unlabeled data", EXPERT SYSTEMS WITH APPLICATIONS, vol. 82, 2017, pages 77 - 99, XP029998009, DOI: 10.1016/j.eswa.2017.04.008 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023053216A1 (ja) | 2021-09-28 | 2023-04-06 | 富士通株式会社 | 機械学習プログラム、機械学習方法および機械学習装置 |
Also Published As
Publication number | Publication date |
---|---|
EP4050527A1 (en) | 2022-08-31 |
JP7276488B2 (ja) | 2023-05-18 |
US20220237407A1 (en) | 2022-07-28 |
JPWO2021079442A1 (ja) | 2021-04-29 |
EP4050527A4 (en) | 2022-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021079442A1 (ja) | 推定プログラム、推定方法、情報処理装置、再学習プログラムおよび再学習方法 | |
US10223614B1 (en) | Learning method, learning device for detecting lane through classification of lane candidate pixels and testing method, testing device using the same | |
CN110852983B (zh) | 用于检测半导体装置中的缺陷的方法 | |
US11574147B2 (en) | Machine learning method, machine learning apparatus, and computer-readable recording medium | |
CN101097564A (zh) | 参数学习方法及设备、模式识别方法及设备 | |
US20220245405A1 (en) | Deterioration suppression program, deterioration suppression method, and non-transitory computer-readable storage medium | |
JP7040104B2 (ja) | 学習プログラム、学習方法および学習装置 | |
US7716152B2 (en) | Use of sequential nearest neighbor clustering for instance selection in machine condition monitoring | |
EP3620958A1 (en) | Learning method, learning device for detecting lane through lane model and testing method, testing device using the same | |
JP6897749B2 (ja) | 学習方法、学習システム、および学習プログラム | |
JP2018195231A (ja) | 学習モデル作成装置、該方法および該プログラム | |
CN114842343A (zh) | 一种基于ViT的航空图像识别方法 | |
US20220343632A1 (en) | Image classification device, image classification method, and image classification program | |
CN112884697B (zh) | 晶圆图的辨识方法与计算机可读取记录介质 | |
CN112836629B (zh) | 一种图像分类方法 | |
CN114417095A (zh) | 一种数据集划分方法及装置 | |
WO2022024315A1 (ja) | 精度推定プログラム、装置、及び方法 | |
CN110705631B (zh) | 一种基于svm的散货船舶设备状态检测方法 | |
US12066910B2 (en) | Reinforcement learning based group testing | |
JP2022147502A (ja) | 機械学習プログラム、機械学習方法および情報処理装置 | |
CN113378707A (zh) | 对象识别方法及装置 | |
Mathews et al. | “Am I your sibling?” Inferring kinship cues from facial image pairs | |
WO2023053216A1 (ja) | 機械学習プログラム、機械学習方法および機械学習装置 | |
US20220237459A1 (en) | Generation method, computer-readable recording medium storing generation program, and information processing apparatus | |
US20220222582A1 (en) | Generation method, computer-readable recording medium storing generation program, and information processing apparatus |
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: 19949698 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021553212 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2019949698 Country of ref document: EP Effective date: 20220523 |