Machine learning system, machine learning method, and machine learning program

The machine learning system efficiently collects training data by generating pattern data, predicting output variance, and selecting data based on variance to update the model, addressing the challenge of predicting time-varying controlled object behaviors.

JP2026006923APending Publication Date: 2026-01-16TOYOTA INDUSTRIES CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024106289
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-01
Publication Date
2026-01-16

AI Technical Summary

Technical Problem

Existing systems face challenges in efficiently collecting training data to generate a trained model that predicts the behavior of a controlled object that may change over time, requiring significant time and resources for data collection and annotation.

Method used

A machine learning system that generates pattern data to mimic input time-series changes, repeatedly predicts output data using a trained model with varying invalidation nodes, calculates variance, and selects pattern data based on this variance to update the model, efficiently collecting training data.

Benefits of technology

This approach allows for the efficient collection of training data to generate a trained model that accurately predicts the behavior of time-varying controlled objects, improving prediction accuracy and reducing resource consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026006923000001_ABST
    Figure 2026006923000001_ABST
Patent Text Reader

Abstract

To efficiently collect teacher data for generating a learned model for predicting a behavior of a control target that may change along a time axis.SOLUTION: Acquiring a trained model for predicting output time-series data indicating a temporal change of an output parameter of a control target from input time-series data indicating a temporal change of one or more input parameters of the control target, acquiring a plurality of pieces of pattern data in which temporal changes of the one or more input parameters are different from each other, repeating a prediction process for predicting the output time-series data from the pattern data using the trained model for each of the plurality of pieces of pattern data while changing one or more invalidation nodes in the trained model, and calculating a variation of the output time-series data for each of the plurality of pieces of pattern data; Based on these variations, one or more pieces of pattern data are selected for updating the learned model.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] One aspect of the present disclosure relates to a machine learning system, a machine learning method, and a machine learning program. [Background technology]

[0002] A technique for predicting the behavior of a control target using a trained model is known. In this context, a method for selecting training data to be used in machine learning to generate the trained model is also known.

[0003] For example, Patent Document 1 describes a training data selection device that selects training data to be presented to a user for active learning of a classifier that identifies the class to which data belongs. This training data selection device has an analysis means that uses a classifier trained with labeled training data to calculate a classification score for unlabeled training data, and a selection means that clusters the unlabeled training data in a feature space in which the feature vectors of the data are defined to generate multiple unlabeled clusters, selects a predetermined number of low-reliability clusters from the unlabeled clusters that are close to the classification boundary of the classifier based on the classification scores, and selects a predetermined, evenly allocated number of unlabeled training data from each of the low-reliability clusters for active learning.

[0004] Patent Document 2 describes an active learning device that reduces the burden on an oracle in active learning. This active learning device includes an analysis unit that calculates the reliability of each estimation result of a machine learning model that estimates the classification to which each of multiple input unsupervised learning data belongs, a selection unit that clusters the learning data into multiple clusters and selects one or more learning data items, preferentially with the lowest reliability, an output unit that outputs a query requesting the oracle to provide teacher data for the selected learning data, and a learning model update unit that proceeds with learning of the machine learning model based on the response. The selection unit selects learning data so as not to select more than a predetermined number of learning data items from one cluster. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Japanese Patent Application Laid-Open No. 2017-167834 [Patent Document 2] Patent Publication No. 2021-47751 Summary of the Invention [Problem to be solved by the invention]

[0006] There is a need for a system that can efficiently collect training data to generate a trained model that predicts the behavior of a controlled object that may change over time. [Means for solving the problem]

[0007] A machine learning system according to one aspect of the present disclosure includes at least one processor. The at least one processor acquires a trained model for predicting output time series data from input time series data, the trained model being generated by machine learning using training data including multiple combinations of input time series data indicating changes over time in one or more input parameters of a control target and output time series data indicating changes over time in an output parameter of the control target. The trained model acquires multiple pattern data in which the changes over time in the one or more input parameters differ from each other. For each of the multiple pattern data, the trained model predicts output time series data from the pattern data while changing one or more invalidation nodes in the trained model. For each of the multiple pattern data, the trained model calculates a variance between the multiple output time series data generated by repeating the prediction process corresponding to the pattern data. Based on the variance of each of the multiple pattern data, the trained model selects one or more pattern data from the multiple pattern data to update the trained model. The repeated prediction process includes a previous prediction process and a next prediction process. For each of the multiple pattern data, the at least one processor fixes one or more invalidation nodes in each of the repeated prediction processes and changes one or more invalidation nodes between the previous prediction process and the next prediction process.

[0008] In this aspect, for each of a plurality of pattern data, a prediction process is repeated while changing one or more invalidation nodes in the trained model, thereby generating a plurality of output time-series data. Then, the variance among the plurality of output time-series data is calculated for each pattern data, and one or more pattern data are selected from the plurality of pattern data based on the variance to update the trained model. The variance in a certain pattern data indicates the degree of uncertainty in the prediction of the trained model that processed that pattern data, i.e., whether the trained model is good at predicting that pattern data. Therefore, by selecting pattern data for updating the trained model based on the variance, training data for generating the trained model can be efficiently collected.

[0009] The invalidation nodes in the trained model are not changed in each prediction process, but are changed between the previous and next prediction processes. This mechanism allows the time-varying change of the output time series parameters to be predicted appropriately, and the variance among multiple output time series data to be calculated accurately.

[0010] As a result, training data can be efficiently collected to generate a trained model that predicts the behavior of the controlled object, which may change over time. [Effects of the Invention]

[0011] According to one aspect of the present disclosure, it is possible to efficiently collect training data for generating a trained model that predicts the behavior of a control object that may change over time. [Brief explanation of the drawings]

[0012] [Figure 1] FIG. 1 is a diagram illustrating an example of a functional configuration of a machine learning system. [Figure 2] FIG. 1 is a diagram illustrating an example of the hardware configuration of a computer used in a machine learning system. [Figure 3] 1 is a flowchart illustrating an example of processing by a machine learning system. [Figure 4] FIG. 10 is a diagram illustrating an example of generating pattern data. [Figure 5] 10 is a flowchart showing details of calculation of variation. [Figure 6] FIG. 10 is a diagram for explaining calculation of variation. [Figure 7] FIG. 10 is a diagram illustrating the concept of variation in pattern data. [Figure 8] FIG. 10 is a diagram illustrating an example of selecting pattern data using clustering. [Figure 9] 10 is a flowchart illustrating a modified example of processing by the machine learning system. [Figure 10] 10 is a flowchart showing details of calculation of variation in a modified example. [Figure 11] FIG. 10 is a diagram for explaining calculation of variation in a modified example. DETAILED DESCRIPTION OF THE INVENTION

[0013] Various examples of the present disclosure will be described in detail below with reference to the accompanying drawings. In the description of the drawings, the same or equivalent elements are designated by the same reference numerals, and redundant description will be omitted.

[0014] [System Overview] The machine learning system disclosed herein is a computer system for assisting in the generation of a trained model that predicts the behavior of a controlled object. Because a variety of physical factors affect the behavior of a controlled object, it is difficult to predict its behavior through formulation, and predictions using methods such as approximation and mapping have limited accuracy. To predict the behavior of such complex controlled objects, trained models generated by machine learning are beginning to be used. Machine learning is a technique for autonomously discovering laws or rules through iterative learning based on given information. However, in order to perform machine learning, training data must be prepared. This preparation requires time and cost, as it requires collecting data through experiments, measurements, and annotating each data record. In particular, for controlled objects that change over time and have highly dependent change histories, a huge amount of training data is required to obtain a trained model with high predictive accuracy. The machine learning system disclosed herein proposes what data records should be prepared as training data to efficiently generate a trained model that predicts the behavior of the controlled object. The user of the machine learning system can prepare new data records of training data based on the proposal and update the trained model through machine learning using the training data to which the new data records have been added. Therefore, users can efficiently collect training data without relying on their own or others' experience, or without randomly repeating experiments and measurements. Machine learning systems can also be considered computer systems that support active learning, a method of prioritizing the collection of training data with high learning effectiveness.

[0015] A controlled object is a device that receives inputs such as energy and instruction signals and outputs behavior based on those inputs. Examples of controlled objects include motors, engines, and compressors. The behavior of a controlled object may be movement that can be grasped from its appearance, or it may be a change in its internal state that cannot be grasped from its appearance.

[0016] Inputs to a controlled object can change over time, and as a result, the behavior (output) of the controlled object can also change over time. The inputs and outputs of such controlled objects are represented by time-series data. Machine learning systems perform suggestions related to training data to generate trained models that predict that time-series data. Machine learning systems enable active learning of time-series data.

[0017] [System Configuration] FIG. 1 is a diagram showing the functional configuration of an example machine learning system 10. In this example, the machine learning system 10 is connected to a training database 30 via a communication network. The training database 30 is a device that stores training data used for machine learning. The training database 30 may be a component of the machine learning system 10, or may be provided outside the machine learning system 10. The communication network may be the Internet, an intranet, or a combination thereof. The communication network may be a wired network, a wireless network, or a combination thereof.

[0018] In one example, the machine learning system 10 includes functional components such as a model generation unit 11, a pattern generation unit 12, a prediction unit 13, an index calculation unit 14, a pattern selection unit 15, and a data registration unit 16.

[0019] The model generation unit 11 is a functional module that generates a trained model 20 that predicts the behavior of a controlled object by machine learning using training data in a training database 30. The trained model 20 is a computational model that predicts output time series data that indicates changes over time in output parameters of a controlled object from input time series data that indicates changes over time in one or more input parameters of the controlled object. The input parameters refer to variables that indicate inputs to the controlled object, and the output parameters refer to variables that indicate outputs from the controlled object. The trained model 20 is configured using, for example, a neural network model such as a deep learning model.

[0020] The pattern generation unit 12 is a functional module that generates pattern data that indicates changes over time of one or more input parameters. The pattern data can be said to be data that imitates input time-series data. The pattern generation unit 12 generates multiple pattern data that differ in the changes over time of the one or more input parameters.

[0021] The prediction unit 13 is a functional module that executes a prediction process for predicting output time series data from each of a plurality of pattern data using the trained model 20. The prediction unit 13 executes the prediction process by invalidating some nodes in the trained model 20. The prediction unit 13 repeats the prediction process while changing one or more invalidated nodes in the trained model.

[0022] The index calculation unit 14 is a functional module that calculates the variance among multiple output time-series data generated by repeating the prediction process. This variance is used as an index (uncertainty score) indicating the degree of uncertainty in predictions of the trained model that processed the pattern data. A large variance for certain pattern data means a large degree of uncertainty in predictions. In this case, the prediction accuracy for that pattern data is estimated to be low. On the other hand, a small variance means a small degree of uncertainty in predictions. In this case, the prediction accuracy for that pattern data is estimated to be high. Therefore, the variance for pattern data can also be said to be an index indicating whether the trained model 20 is good at predicting that pattern data.

[0023] The pattern selection unit 15 is a functional module that selects one or more pieces of pattern data from the plurality of pattern data based on the variations in each of the plurality of pattern data in order to update the trained model 20.

[0024] The data registration unit 16 is a functional module that registers new data records of teacher data generated based on one or more selected pattern data in the learning database 30. The new data records are obtained by actually measuring the behavior of a real control target.

[0025] FIG. 2 is a diagram showing an example of the hardware configuration of a computer 100 constituting the machine learning system 10. For example, the computer 100 includes a processor 101, a main memory unit 102, an auxiliary memory unit 103, a communication control unit 104, an input device 105, and an output device 106. The processor 101 executes an operating system and application programs. The main memory unit 102 is composed of, for example, ROM and RAM. The auxiliary memory unit 103 is composed of, for example, a hard disk or flash memory, and generally stores larger amounts of data than the main memory unit 102. The communication control unit 104 is composed of, for example, a network card or a wireless communication module. The input device 105 is composed of, for example, a keyboard, a mouse, a touch panel, etc. The output device 106 is composed of, for example, a monitor and speakers.

[0026] Each functional module of the machine learning system 10 is realized by a machine learning program 110 that is pre-stored in the auxiliary storage unit 103. Each functional module is realized by loading the machine learning program 110 onto the processor 101 or the main storage unit 102 and having the processor 101 execute the machine learning program 110. The processor 101 operates the communication control unit 104, the input device 105, or the output device 106 in accordance with the machine learning program 110, and reads and writes data from and to the main storage unit 102 or the auxiliary storage unit 103.

[0027] The machine learning program 110 may be provided in a state recorded on a non-transitory recording medium such as a CD-ROM, a DVD-ROM, a semiconductor memory, etc. Alternatively, the machine learning program 110 may be provided via a communication network as a data signal superimposed on a carrier wave.

[0028] The machine learning system 10 may be configured with one computer 100 or multiple computers 100. When multiple computers 100 are used, these computers 100 are connected via a communication network such as the Internet or an intranet to logically construct a single machine learning system 10. The machine learning system 10 may also be constructed by combining multiple types of computers.

[0029] [System Operation] Processing by the machine learning system 10 will be described as an example of a prediction method according to the present disclosure with reference to Fig. 3. Fig. 3 is a flowchart showing an example of this processing as processing flow S1.

[0030] In step S11, the model generation unit 11 performs machine learning using the initial training data to generate the trained model 20. In the present disclosure, the trained model generated using the initial training data is also referred to as the "initial trained model."

[0031] The initial training data is prepared through experiments, measurements, etc. before generating the trained model 20, and is stored in advance in the training database 30. Each data record of the training data indicates a combination of input time series data and output time series data. Therefore, the training data includes multiple combinations of input time series data and output time series data. The output time series data is used as the ground truth in machine learning. Corresponding input time series data and output time series data indicate a common time span. This time span is divided into n time points t1, t2, ..., t n The input time series data is represented by the time points t1, t2, ..., t n The output time series data is the value of each input parameter at time points t1, t2, ..., t n The values ​​of the output parameters at each of the

[0032] As described above, the input time-series data indicates changes over time in one or more input parameters of a controlled object, and the output time-series data indicates changes over time in an output parameter of the controlled object. Both the input parameters and the output parameters may be measurable physical quantities. For example, if the controlled object is a motor, at least one of the supplied power, load characteristics such as inertia, and a speed command value may be used as the input parameter, and the rotational speed may be used as the output parameter.

[0033] The model generation unit 11 acquires a machine learning model structure incorporating a mechanism for disabling some nodes in response to a predetermined user operation. For example, the model generation unit 11 acquires a model structure employing Monte Carlo Dropout (MC Dropout) as the mechanism. The model generation unit 11 may read the model structure from a predetermined storage device or may receive it from another computer such as a user terminal. The model generation unit 11 generates a trained model 20 by machine learning using training data in the training database 30. This generation is an example of a process for acquiring a trained model 20. In one example, the model generation unit 11 inputs input time series data indicated by a data record into the model structure and updates a set of parameters in the model structure by backpropagation (error backpropagation) based on the error between output time series data estimated by the model structure and the correct answer indicated by the data record. The model generation unit 11 repeats this process using multiple data records of training data to generate the trained model 20.

[0034] In step S12, the pattern generation unit 12 generates multiple pattern data. This generation is an example of a process for acquiring multiple pattern data. For example, the pattern generation unit 12 sets two or more levels (level values) for each of one or more input parameters based on user input. The pattern generation unit 12 sets one or more combinations of level values ​​corresponding to one or more input parameters for each of multiple time points constituting the time width corresponding to the input time series data, thereby generating one pattern data. The pattern generation unit 12 generates multiple pattern data in which the time changes of one or more input parameters differ. The time changes of one or more input parameters differ between two pattern data when the level of at least one input parameter at at least one time point differs between the two pattern data. In one example, the pattern generation unit 12 generates multiple pattern data so as to cover all patterns of time changes of each input parameter. The number of pattern data can become enormous depending on various conditions, such as the number of levels of each input parameter, the length of the time series, and the sampling interval.

[0035] 4 is a diagram showing an example of pattern data generation. In this example, three input parameters Ra, Rb, and Rc are prepared, and four levels are set for each of the input parameters Ra and Rc, and three levels are set for the input parameter Rb. The pattern generation unit 12 generates m pieces of pattern data, each of which indicates a change over time in the input parameters Ra, Rb, and Rc. The pattern data with pattern number 1 indicates that the combination of the three input parameters changes along the time axis as follows: (Ra1, Rb1, Rc2), (Ra3, Rb2, Rc2), (Ra3, Rb2, Rc1), ...

[0036] Returning to Fig. 3, in step S13, the prediction unit 13 and the index calculation unit 14 cooperate to calculate the variability of the output from the trained model 20 for each piece of pattern data. This processing will be described with reference to Fig. 5. Fig. 5 is a flowchart showing the details of the calculation of the variability.

[0037] In step S131, the prediction unit 13 initializes the invalid nodes of the trained model 20. For example, the prediction unit 13 randomly invalidates some nodes.

[0038] In step S132, the prediction unit 13 selects one of the plurality of pattern data.

[0039] In step S133, the prediction unit 13 predicts output time series data from the selected pattern data using the trained model 20. In this prediction process, the prediction unit 13 inputs the pattern data to the trained model 20, the trained model 20 processes the pattern data to predict (calculate) output time series data, and the prediction unit 13 acquires the output time series data. The prediction unit 13 fixes one or more invalidated nodes in the trained model 20 during the prediction process. Therefore, while the prediction unit 13 predicts output parameter values ​​for each of the multiple time points indicated by the pattern data, the invalidated nodes in the trained model 20 do not change. By fixing the invalidated nodes during the prediction process, it is possible to appropriately process changes over time in the input and output of the controlled object, i.e., the time series data.

[0040] As shown in step S134, the prediction unit 13 executes the prediction process a predetermined number of times n (n>1).

[0041] If the prediction process has not been executed n times (NO in step S134), the process proceeds to step S135. In step S135, the prediction unit 13 changes one or more invalidated nodes in the trained model 20. For example, the prediction unit 13 changes the invalidated nodes randomly. After step S135, the process returns to step S133. In the repeated step S13, the prediction unit 13 predicts output time series data from the selected pattern data using the trained model 20 in which the invalidated nodes have been changed.

[0042] In this way, the prediction unit 13 fixes one or more invalidation nodes in each repeated prediction process and changes one or more invalidation nodes between the preceding prediction process and the next prediction process. For example, the prediction unit 13 changes the invalidation nodes only between two prediction processes by imposing constraints on the randomness of MC Dropout. The pattern data input to the trained model 20 is the same between repeated prediction processes. However, since one or more invalidation nodes change for each prediction process, the output time series data obtained from the trained model 20 may change for each prediction process. In other words, for one piece of pattern data, n pieces of predicted data (output time series data) with different invalidation nodes are generated, but the invalidation nodes are the same for each of multiple time points within one piece of time series data.

[0043] If the prediction process has been executed n times (YES in step S134), the process proceeds to step S136. In step S136, the index calculation unit 14 calculates the variability among the multiple output time series data generated by repeating the prediction process corresponding to the selected pattern data. The index calculation unit 14 calculates the variability of the output parameter values ​​for each time point indicated by the output time series data. As a result, time series data indicating changes in the variability over time is obtained. In one example, the index calculation unit 14 acquires the peak (i.e., maximum value) of the variability in the time series data (change over time) as the variability corresponding to the selected pattern data. As another example, the index calculation unit 14 may acquire a statistical value (e.g., average value) of the variability at each time point as the variability corresponding to the selected pattern data.

[0044] FIG. 6 is a diagram for explaining the calculation of variance. In the example of FIG. 6, the prediction unit 13 repeats the prediction process while changing one or more invalidated nodes in the trained model 20, and predicts multiple (n ways) of output time series data 320 from pattern data 310. FIG. 6 shows trained models 20 whose internal structure changes so that at least one invalidated node is different as trained models 20a, 20b, and 20c, and the invalidated nodes are represented as nodes marked with an X. The trained model 20a predicts output time series data 321, the trained model 20b predicts output time series data 322, and the trained model 20c predicts output time series data 323. The index calculation unit 14 calculates the variance for each time point between the multiple output time series data 320 including the output time series data 321 to 323, and obtains variance time series data 330. In this example, the index calculation unit 14 acquires a peak (maximum value) 331 of the variation in the time-series data 330 as the variation corresponding to the pattern data 310.

[0045] Returning to FIG. 5, as shown in step S137, the prediction unit 13 and the index calculation unit 14 cooperate to calculate the variance for all pattern data. If unprocessed pattern data exists (NO in step S137), the process returns to step S131. In this repetition, the prediction unit 13 initializes the invalidation nodes of the trained model (step S131), selects the next pattern data (step S132), and repeats the prediction process using the pattern data n times while changing one or more invalidation nodes in the trained model (repeated steps S133 to S135). Then, the index calculation unit 14 calculates the variance among the multiple output time-series data corresponding to the pattern data (step S136). If all pattern data has been processed (YES in step S137), step S13 ends.

[0046] In this way, the prediction unit 13 repeats a prediction process for predicting output time series data from each of a plurality of pattern data using the trained model 20 while changing one or more invalidated nodes in the trained model 20. Because the invalidated nodes in the trained model 20 are randomly initialized and changed, the history of changes to the invalidated nodes may differ for each of the pattern data. The index calculation unit 14 calculates, for each of the plurality of pattern data, the variance among the plurality of output time series data generated by repeating the prediction process corresponding to the pattern data.

[0047] Returning to FIG. 3 , in step S14, the pattern selection unit 15 selects one or more pieces of pattern data from the plurality of pattern data based on the variability of each piece of pattern data in order to update the trained model 20. The pattern selection unit 15 outputs the selected pattern data. For example, the pattern selection unit 15 may display the selected pattern data on a display device, transmit it to another computer such as a user terminal, or store it in a predetermined storage device. Such an output can also be considered as a suggestion to the user regarding active learning for generating the trained model 20.

[0048] The significance of selecting pattern data based on variability will be described with reference to Figure 7. Figure 7 is a diagram illustrating the concept of variability in pattern data, showing two pattern data Pi and Pj as an example, in which one or more input parameters change over time differently. Figure 7 also shows invalidated nodes of the trained model 20 as nodes marked with an X. Each output time series data 320 of prediction processing performed multiple times on pattern data Pi is conceptually represented as output time series data 341, and each output time series data 320 of prediction processing performed multiple times on pattern data Pj is conceptually represented as output time series data 342.

[0049] The multiple output time series data 341 obtained from the pattern data Pi while changing one or more invalidated nodes in the trained model 20 produce inconsistent results, and therefore the variance 351 corresponding to the pattern data Pi is large (e.g., the variance peak 331 is large). This result means that the prediction accuracy of the pattern data Pi by the trained model 20 is relatively low. On the other hand, the multiple output time series data 342 obtained from the pattern data Pj while changing one or more invalidated nodes in the trained model 20 produce similar results, and therefore the variance 352 corresponding to the pattern data Pj is small (e.g., the variance peak 331 is small). This result means that the prediction accuracy of the pattern data Pi by the trained model 20 is relatively high.

[0050] In this way, by looking at the variability in the output time series data, it is possible to understand the trend in predictions of the trained model. Because the pattern data is data that mimics the input time series data, selecting pattern data based on the variability makes it possible to prepare input time series data for efficiently training the trained model 20. As described above, the number of pattern data can be enormous, but by considering the variability in the output time series data, it is possible to select appropriate data records to be added to the training data for further machine learning.

[0051] In one example, the pattern selection unit 15 selects one or more pattern data whose variation is greater than a predetermined standard from the plurality of pattern data. For example, the pattern selection unit 15 may select a predetermined number of pattern data in descending order of variation, or may select pattern data whose variation is greater than a predetermined threshold. In this way, the standard may be defined by a rank or a threshold.

[0052] The pattern selection unit 15 may perform clustering on multiple pattern data and select at least one pattern data from each of multiple clusters. In this example, the pattern selection unit performs principal component analysis on multiple combinations of pattern data and variability to calculate the distribution of variability in the multiple pattern data. In principal component analysis that processes time-series data, at least one of current information (current parameter values) and past information (past parameter values) may be identified as a principal component. For example, defining the present as the time when the variability peak 331 occurred and the past as one or more time points prior to the variability peak 331 is effective for a control target with highly dependent change history. The pattern selection unit 15 performs clustering on the multiple pattern data based on the calculated distribution to classify at least some of the multiple pattern data into multiple clusters. For example, the pattern selection unit 15 sets multiple clusters so that the variability histogram within each cluster is unimodal. In the present disclosure, a cluster with a unimodal variability histogram is also simply referred to as a "cluster having unimodality." The pattern selection unit 15 selects at least one pattern data from each of the plurality of clusters in descending order of the variation in the cluster.

[0053] Selection of pattern data using clustering will be described with reference to FIG. 8. FIG. 8 is a diagram showing an example of such selection. In this example, the pattern selection unit 15 performs principal component analysis to select principal components Ca and Cb as principal components related to the pattern data, and calculates a distribution 400 of variation in a two-dimensional space corresponding to these principal components. Each point in FIG. 8 represents a combination of pattern data and variation. The pattern selection unit 15 classifies at least some of the multiple pattern data into five clusters 410 by clustering based on the distribution. As described above, each cluster 410 may be a unimodal cluster. In the example of FIG. 8, the pattern selection unit 15 selects two pattern data from each cluster 410 in descending order of variation.

[0054] Returning to FIG. 3 , in step S15, the data registration unit 16 registers new data records of the training data prepared based on the selected pattern data in the training database 30. Based on the selected pattern data, the user sets inputs to a real control object, actually operates the control object using the inputs, and measures the output from the control object. The user then acquires input time series data indicating the actual inputs along a time axis and output time series data indicating the time-dependent changes in the actual output obtained from the operated control object. The user performs such measurements and data collection for each of the one or more selected patterns to prepare one or more new data records of the training data. The one or more new data records are based on one or more selected pattern data. Each new data record represents a new combination of input time series data and output time series data obtained by inputting the input time series data to the control object. The data registration unit 16 acquires one or more new data records based on a predetermined user operation and stores these data records in the training database 30. As a result, the training data is replenished.

[0055] In step S16, the model generation unit 11 performs machine learning using training data further including one or more new data records, i.e., supplemented training data, to update the trained model 20. The model generation unit 11 acquires the model structure used in step S11 and generates a new trained model 20 by machine learning using the supplemented training data. The machine learning procedure is the same as in step S11. The model generation unit 11 replaces the current trained model 20 with the generated trained model 20, thereby updating the trained model 20. The updated trained model 20 has been trained using training data supplemented based on pattern data selected based on the variability of the output time series data, and therefore may be able to accurately predict input time series data, which has previously been a challenge.

[0056] In step S17, it is determined whether the updated trained model 20 satisfies a predetermined evaluation criterion. For example, a user prepares verification data including one or more combinations of input time series data and output time series data, and verifies the prediction accuracy of the updated trained model 20 using the verification data. The user then determines whether the prediction accuracy satisfies a predetermined evaluation criterion. Alternatively, the machine learning system 10 may include an evaluation unit, which is a functional module that automatically performs this verification and determination. The evaluation unit reads the verification data from a predetermined storage device, inputs the input time series data to the updated trained model 20 for each data record of the verification data, and calculates the error between the prediction result obtained from the trained model 20 and the correct output time series data. The evaluation unit calculates the prediction accuracy based on the calculated errors and determines whether the prediction accuracy satisfies the predetermined evaluation criterion.

[0057] If the accuracy of the updated trained model 20 does not satisfy the evaluation criteria (NO in step S17), the process returns to step S13. In the repeated step S13, the prediction unit 13 and the index calculation unit 14 cooperate to calculate the variability of the output from the trained model 20 for each pattern data by using the plurality of pattern data again. Thereafter, the processes from step S14 onward are performed, and the trained model 20 is updated and verified again.

[0058] If the accuracy of the updated trained model 20 satisfies the evaluation criterion (YES in step S17), the process flow S1 ends. The finally obtained trained model 20 is expected to accurately predict output time series data for various input time series data. This trained model 20 is used by the machine learning system 10 or another computer system to predict unknown output time series data.

[0059] [Variations] The technology according to the present disclosure has been described in detail above based on various examples. However, the present disclosure is not limited to the above examples. The technology according to the present disclosure can be modified in various ways without departing from the spirit of the present disclosure.

[0060] In the above example, the machine learning system 10 selects pattern data using a trained model 20 that incorporates a mechanism for disabling some nodes. As another example, the machine learning system 10 may select pattern data using multiple trained models that do not have a mechanism for disabling nodes. The processing performed by the machine learning system 10 according to this modification will be described with reference to FIG. 9. FIG. 9 is a flowchart showing an example of this processing as processing flow S2.

[0061] In step S21, the model generation unit 11 performs machine learning using initial training data to generate multiple trained models 20 (multiple initial trained models 20). In one example, the model generation unit 11 acquires a model structure that does not incorporate a mechanism for disabling nodes, i.e., a model structure in which all nodes are enabled, in response to a predetermined user operation. The model generation unit 11 may read the model structure from a predetermined storage device or may receive it from another computer such as a user terminal. The model generation unit 11 replicates the model structure to generate multiple model structures, and initializes the multiple model structures with different random number seeds to make the initial states of the multiple model structures different from one another. The model generation unit 11 performs machine learning using training data in the training database 30 for each of the multiple model structures, as in step S11, to generate multiple trained models 20. This generation is an example of a process of acquiring multiple trained models 20 generated by machine learning from different initial states.

[0062] In step S22, the pattern generating unit 12 generates a plurality of pattern data. This process is similar to step S12, and is therefore an example of a process for acquiring a plurality of pattern data.

[0063] In step S23, the prediction unit 13 and the index calculation unit 14 cooperate to calculate the variability of the outputs from the plurality of trained models 20 for each pattern data. This processing will be described with reference to Fig. 10. Fig. 10 is a flowchart showing the details of the calculation of the variability in the modified example.

[0064] In step S231, the prediction unit 13 selects one of the plurality of pattern data.

[0065] In step S232, the prediction unit 13 predicts output time series data from the selected pattern data using each of the multiple trained models 20. In this prediction process, the prediction unit 13 inputs the pattern data to each trained model 20, each trained model 20 processes the pattern data to predict (calculate) output time series data, and the prediction unit 13 acquires each output time series data. Since the multiple trained models 20 are generated from initial states that are different from each other, the acquired multiple output time series data may be different from each other.

[0066] In step S233, the index calculation unit 14 calculates the variation among the plurality of output time-series data corresponding to the selected pattern data. The method for calculating this variation is the same as in step S136. For example, the index calculation unit 14 may acquire the peak (i.e., maximum value) in the time-series data of variation as the variation corresponding to the selected pattern data. Alternatively, the index calculation unit 14 may acquire a statistical value (e.g., average value) of the variation at each time point indicated by the time-series data as the variation corresponding to the selected pattern data.

[0067] FIG. 11 is a diagram for explaining the calculation of variability in step S233. In the example of FIG. 11, the prediction unit 13 inputs pattern data 510 to each of multiple trained models 20 to predict multiple output time series data 520. FIG. 11 shows trained models 20 generated from different initial states as trained models 201, 202, and 203. The trained model 201 predicts output time series data 521, the trained model 202 predicts output time series data 522, and the trained model 203 predicts output time series data 523. The index calculation unit 14 calculates the variability among the multiple output time series data 520 including the output time series data 521 to 523 to obtain time series data 530 of the variability. In this example, the index calculation unit 14 acquires a peak (maximum value) 531 of the variability in the time series data 530 as the variability corresponding to the pattern data 510.

[0068] Returning to FIG. 10 , as shown in step S234, the prediction unit 13 and the index calculation unit 14 cooperate to calculate the variability for all pattern data. If unprocessed pattern data exists (NO in step S234), the process returns to step S231. In this repetition, the prediction unit 13 selects the next pattern data (step S231) and executes a prediction process using the pattern data and the plurality of trained models 20 (step S232). Then, the index calculation unit 14 calculates the variability among the plurality of output time-series data corresponding to the pattern data (step S233). If all pattern data has been processed (YES in step S234), step S23 ends.

[0069] In this way, the prediction unit 13 executes a prediction process for predicting output time series data from each of a plurality of pattern data using each of a plurality of trained models 20. The index calculation unit 14 calculates, for each of a plurality of pattern data, the variance among a plurality of output time series data corresponding to the pattern data.

[0070] 9, in step S24, the pattern selection unit 15 selects one or more pieces of pattern data from the plurality of pattern data based on the variations of each piece of pattern data in order to update the trained model 20. This process is similar to step S14. Therefore, the pattern selection unit 15 may select pattern data using clustering.

[0071] In step S25, the data registration unit 16 registers a new data record of the teacher data prepared based on the selected pattern data in the training database 30. This process is similar to step S15.

[0072] In step S26, the model generation unit 11 performs machine learning using training data further including one or more new data records, i.e., supplemented training data, to update the multiple trained models 20. The model generation unit 11 generates multiple model structures by duplicating the model structure acquired in step S21, and initializes the multiple model structures with different random number seeds to make the initial states of the multiple model structures different from one another. The model generation unit 11 generates a new trained model 20 for each of the multiple model structures by machine learning using the supplemented training data. The machine learning procedure is the same as in step S21. The model generation unit 11 replaces the current multiple trained models 20 with the generated multiple trained models 20, thereby updating the multiple trained models 20.

[0073] In step S27, it is determined whether the updated trained model 20 satisfies a predetermined evaluation criterion. This process is similar to step S17. Therefore, step S27 can be executed by the machine learning system 10 (for example, the evaluation unit).

[0074] If the accuracy of the updated trained model 20 does not satisfy the evaluation criterion (NO in step S27), the process returns to step S23. In the repeated step S23, the prediction unit 13 and the index calculation unit 14 cooperate to calculate the variability of the outputs from the trained models 20 for each pattern data by using the plurality of pattern data again. Thereafter, the processes from step S24 onward are performed, and the trained models 20 are updated and verified again.

[0075] If the accuracy of the updated trained models 20 satisfies the evaluation criteria (YES in step S27), the process flow S2 ends. At least one of the trained models 20 is used by the machine learning system 10 or another computer system to predict unknown output time-series data. For example, the trained model 20 with the highest prediction accuracy may be used in the operation phase.

[0076] In the above example, the model generation unit 11 generates one or more initial trained models, but the machine learning system may acquire one or more initial trained models by another method. For example, the machine learning system may read out an initial trained model that is pre-stored in a predetermined storage device, or may receive an initial trained model from another computer.

[0077] In the above example, the pattern generation unit 12 generates multiple pieces of pattern data, but the machine learning system may acquire multiple pieces of pattern data by other methods. For example, the machine learning system may read multiple pieces of pattern data stored in advance in a predetermined storage device, or may receive multiple pieces of pattern data from another computer.

[0078] In this disclosure, the expression "at least one processor executes a first process, executes a second process, ... executes an nth process" or a corresponding expression is a concept that includes cases where the entity executing the n processes from the first process to the nth process (i.e., the processor) changes midway through. In other words, this expression is a concept that includes both cases where all n processes are executed by the same processor and cases where the processor changes among the n processes according to an arbitrary policy.

[0079] The processing steps of the method executed by at least one processor are not limited to the above examples. For example, some of the above steps may be omitted, or the steps may be executed in a different order. Furthermore, any two or more of the above steps may be combined, or some of the steps may be modified or deleted. Alternatively, other steps may be executed in addition to the above steps.

[0080] When comparing the magnitude of two numbers within a computer system or computer, either of the two criteria "greater than or equal to" and "greater than" can be used, or either of the two criteria "less than or equal to" and "under".

[0081] [Note] As can be seen from the various examples above, the present disclosure includes the following aspects. (Appendix 1) at least one processor; the at least one processor: a trained model for predicting output time series data from input time series data, the trained model being generated by machine learning using training data including a plurality of combinations of input time series data indicating changes over time of one or more input parameters of a control object and output time series data indicating changes over time of output parameters of the control object; acquiring a plurality of pattern data in which the one or more input parameters change over time differently; repeating a prediction process for predicting the output time-series data from the pattern data using the trained model for each of the plurality of pattern data while changing one or more invalidation nodes in the trained model; For each of the plurality of pattern data, a variance among the plurality of output time series data corresponding to the pattern data and generated by repeating the prediction process is calculated; selecting one or more pattern data from the plurality of pattern data based on the variability of each of the plurality of pattern data to update the trained model; the repeated prediction process includes a preceding prediction process and a next prediction process, The at least one processor performs the following for each of the plurality of pattern data: In each of the repeated prediction processes, the one or more invalidated nodes are fixed; changing the one or more invalidation nodes between the preceding prediction process and the next prediction process; Machine learning systems. (Appendix 2) the at least one processor: calculating a peak of the variation in the change over time for each of the plurality of pattern data; selecting the one or more pattern data from the plurality of pattern data based on the peak of the variation of each of the plurality of pattern data; 1. The machine learning system described in Appendix 1. (Appendix 3) the at least one processor selects, from the plurality of pattern data, the one or more pattern data whose variation is greater than a predetermined standard; 1. The machine learning system of claim 1 or 2. (Appendix 4) the at least one processor: performing a principal component analysis on a plurality of combinations of the pattern data and the variations to calculate a distribution of the variations in the plurality of pattern data; performing the distribution-based clustering on the plurality of pattern data to classify at least a portion of the plurality of pattern data into a plurality of clusters; selecting at least one pattern data from each of the plurality of clusters in descending order of the variation in the cluster; 4. The machine learning system according to any one of appendices 1 to 3. (Appendix 5) the at least one processor executes the machine learning using the training data further including one or more new combinations of the input time series data and the output time series data obtained by inputting the input time series data to the control target, based on the one or more selected pattern data, to update the trained model; 5. The machine learning system according to any one of appendices 1 to 4. (Appendix 6) 1. A machine learning method executed by a machine learning system comprising at least one processor, comprising: acquiring a trained model that predicts the output time series data from the input time series data, the trained model being generated by machine learning using training data including a plurality of combinations of input time series data indicating changes over time of one or more input parameters of a control object and output time series data indicating changes over time of an output parameter of the control object; acquiring a plurality of pattern data in which the one or more input parameters change over time differently; a step of repeating a prediction process for predicting the output time series data from the pattern data using the trained model for each of the plurality of pattern data while changing one or more invalidation nodes in the trained model; calculating, for each of the plurality of pattern data, a variance among the plurality of output time-series data corresponding to the pattern data and generated by repeating the prediction process; selecting one or more pattern data from the plurality of pattern data based on the variability of each of the plurality of pattern data to update the trained model; Including, the repeated prediction process includes a preceding prediction process and a next prediction process, In the step of repeating the prediction process, for each of the plurality of pattern data, In each of the repeated prediction processes, the one or more invalidated nodes are fixed; changing the one or more invalidation nodes between the preceding prediction process and the next prediction process; Machine learning methods. (Appendix 7) acquiring a trained model that predicts the output time series data from the input time series data, the trained model being generated by machine learning using training data including a plurality of combinations of input time series data indicating changes over time of one or more input parameters of a control object and output time series data indicating changes over time of an output parameter of the control object; acquiring a plurality of pattern data in which the one or more input parameters change over time differently; a step of repeating a prediction process for predicting the output time series data from the pattern data using the trained model for each of the plurality of pattern data while changing one or more invalidation nodes in the trained model; calculating, for each of the plurality of pattern data, a variance among the plurality of output time-series data corresponding to the pattern data and generated by repeating the prediction process; selecting one or more pattern data from the plurality of pattern data based on the variability of each of the plurality of pattern data to update the trained model; on the computer, the repeated prediction process includes a preceding prediction process and a next prediction process, In the step of repeating the prediction process, for each of the plurality of pattern data, In each of the repeated prediction processes, the one or more invalidated nodes are fixed; changing the one or more invalidation nodes between the preceding prediction process and the next prediction process; Machine learning programs. (Appendix 8) at least one processor; the at least one processor: Using training data including a plurality of combinations of input time series data indicating time-varying changes in one or more input parameters of a control object and output time series data indicating time-varying changes in output parameters of the control object, a plurality of trained models are obtained, which are generated by machine learning from mutually different initial states, and which predict the output time series data based on the input time series data; acquiring a plurality of pattern data in which the one or more input parameters change over time differently; For each of the plurality of pattern data, a prediction process is performed to predict the output time series data from the pattern data using each of the plurality of trained models; calculating a variation among a plurality of pieces of output time-series data corresponding to each of the plurality of pieces of pattern data; selecting one or more pattern data from the plurality of pattern data based on the variance of each of the plurality of pattern data to update the plurality of trained models; Machine learning systems.

[0082] According to Supplements 1, 6, and 7, for each of a plurality of pattern data, a prediction process is repeated while changing one or more invalidation nodes in the trained model, thereby generating a plurality of output time series data. Then, the variance among the plurality of output time series data is calculated for each pattern data, and one or more pattern data are selected from the plurality of pattern data based on the variance to update the trained model. The variance in a certain pattern data indicates the degree of uncertainty in the prediction of the trained model that processed that pattern data, i.e., whether the trained model is good at predicting that pattern data. Therefore, by selecting pattern data for updating the trained model based on the variance, training data for generating the trained model can be efficiently collected.

[0083] The invalidation nodes in the trained model are not changed in each prediction process, but are changed between the previous and next prediction processes. This mechanism allows the time-varying change of the output time series parameters to be predicted appropriately, and the variance among multiple output time series data to be calculated accurately.

[0084] As a result, training data can be efficiently collected to generate a trained model that predicts the behavior of the controlled object, which may change over time.

[0085] According to Supplementary Note 2, pattern data is selected based on the peak of variation in the time-series data. The peak of variation can be said to indicate a portion of the time-series data where the predictive accuracy of the trained model is particularly low. By focusing on this peak, pattern data that has a portion where the trained model is particularly weak can be selected, allowing for more efficient collection of training data for generating the trained model.

[0086] According to Supplementary Note 3, pattern data with a relatively large variation among multiple output time-series data is selected, so that training data for generating a trained model can be collected more efficiently.

[0087] According to Supplementary Note 4, pattern data is selected from each of multiple clusters obtained by clustering based on the distribution of variations in multiple pattern data. This mechanism makes it easier to select multiple pattern data with different tendencies, and ultimately makes it possible to simultaneously train multiple patterns of input time series data, which are difficult for trained models, in the next machine learning process. As a result, it becomes possible to complete the trained model more efficiently.

[0088] According to Appendix 5, machine learning is performed based on training data supplemented based on selected pattern data, so a trained model that can be expected to have higher predictive accuracy can be obtained.

[0089] According to Supplementary Note 8, for each of a plurality of pattern data, a plurality of output time series data are generated by a plurality of trained models generated by machine learning from mutually different initial states. Then, the variance among the plurality of output time series data is calculated for each pattern data, and one or more pattern data are selected from the plurality of pattern data based on the variance to update the trained model. The variance in a certain pattern data indicates the degree of uncertainty in predictions made by the plurality of trained models that processed that pattern data, i.e., whether the trained model is good at predicting that pattern data. Therefore, by selecting pattern data for updating the trained model based on the variance, training data for generating a trained model that predicts the behavior of a control object that may change over time can be efficiently collected. [Explanation of symbols]

[0090] 10...machine learning system, 11...model generation unit, 12...pattern generation unit, 13...prediction unit, 14...index calculation unit, 15...pattern selection unit, 16...data registration unit, 20...trained model, 30...training database, 110...machine learning program, 310...pattern data, 320...output time series data, 330...variation time series data, 341, 342...output time series data, 351, 352...variation, 400...variation distribution, 410...cluster, 510...pattern data, 520...output time series data, 530...variation time series data.

Claims

1. at least one processor; the at least one processor: a trained model for predicting output time series data from input time series data, the trained model being generated by machine learning using training data including a plurality of combinations of input time series data indicating changes over time of one or more input parameters of a control object and output time series data indicating changes over time of output parameters of the control object; acquiring a plurality of pattern data in which the one or more input parameters change over time differently; repeating a prediction process for predicting the output time-series data from the pattern data using the trained model for each of the plurality of pattern data while changing one or more invalidation nodes in the trained model; For each of the plurality of pattern data, a variance among the plurality of output time series data corresponding to the pattern data and generated by repeating the prediction process is calculated; selecting one or more pattern data from the plurality of pattern data based on the variability of each of the plurality of pattern data to update the trained model; the repeated prediction process includes a preceding prediction process and a next prediction process, The at least one processor performs the following for each of the plurality of pattern data: In each of the repeated prediction processes, the one or more invalidated nodes are fixed; changing the one or more invalidation nodes between the previous prediction process and the next prediction process; Machine learning systems.

2. the at least one processor: calculating a peak of the variation in the change over time for each of the plurality of pattern data; selecting the one or more pattern data from the plurality of pattern data based on the peak of the variation of each of the plurality of pattern data; The machine learning system of claim 1 .

3. the at least one processor selects, from the plurality of pattern data, the one or more pattern data whose variation is greater than a predetermined standard; The machine learning system according to claim 1 or 2.

4. the at least one processor: performing a principal component analysis on a plurality of combinations of the pattern data and the variations to calculate a distribution of the variations in the plurality of pattern data; performing the distribution-based clustering on the plurality of pattern data to classify at least a portion of the plurality of pattern data into a plurality of clusters; selecting at least one pattern data from each of the plurality of clusters in descending order of the variation in the cluster; The machine learning system according to claim 1 or 2.

5. the at least one processor executes the machine learning using the training data further including one or more new combinations of the input time series data and the output time series data obtained by inputting the input time series data to the control target, based on the one or more selected pattern data, to update the trained model; The machine learning system according to claim 1 or 2.

6. 1. A machine learning method executed by a machine learning system comprising at least one processor, comprising: acquiring a trained model that predicts the output time series data from the input time series data, the trained model being generated by machine learning using training data including a plurality of combinations of input time series data indicating changes over time of one or more input parameters of a control object and output time series data indicating changes over time of an output parameter of the control object; acquiring a plurality of pattern data in which the one or more input parameters change over time differently; a step of repeating a prediction process for predicting the output time-series data from each of the plurality of pattern data using the trained model while changing one or more invalidation nodes in the trained model; calculating, for each of the plurality of pattern data, a variance among the plurality of output time-series data corresponding to the pattern data and generated by repeating the prediction process; selecting one or more pattern data from the plurality of pattern data based on the variability of each of the plurality of pattern data to update the trained model; Including, the repeated prediction process includes a preceding prediction process and a next prediction process, In the step of repeating the prediction process, for each of the plurality of pattern data, In each of the repeated prediction processes, the one or more invalidated nodes are fixed; changing the one or more invalidation nodes between the previous prediction process and the next prediction process; Machine learning methods.

7. acquiring a trained model that predicts the output time series data from the input time series data, the trained model being generated by machine learning using training data including a plurality of combinations of input time series data indicating changes over time of one or more input parameters of a control object and output time series data indicating changes over time of an output parameter of the control object; acquiring a plurality of pattern data in which the one or more input parameters change over time differently; a step of repeating a prediction process for predicting the output time-series data from each of the plurality of pattern data using the trained model while changing one or more invalidation nodes in the trained model; calculating, for each of the plurality of pattern data, a variance among the plurality of output time-series data corresponding to the pattern data and generated by repeating the prediction process; selecting one or more pattern data from the plurality of pattern data based on the variability of each of the plurality of pattern data to update the trained model; on the computer, the repeated prediction process includes a preceding prediction process and a next prediction process, In the step of repeating the prediction process, for each of the plurality of pattern data, In each of the repeated prediction processes, the one or more invalidated nodes are fixed; changing the one or more invalidation nodes between the previous prediction process and the next prediction process; Machine learning programs.

8. at least one processor; the at least one processor: Using training data including a plurality of combinations of input time series data indicating time-varying changes in one or more input parameters of a control object and output time series data indicating time-varying changes in output parameters of the control object, a plurality of trained models are obtained, which are generated by machine learning from mutually different initial states, and which predict the output time series data based on the input time series data; acquiring a plurality of pattern data in which the one or more input parameters change over time differently; For each of the plurality of pattern data, a prediction process is performed to predict the output time series data from the pattern data using each of the plurality of trained models; calculating a variation among a plurality of pieces of output time-series data corresponding to each of the plurality of pieces of pattern data; selecting one or more pattern data from the plurality of pattern data based on the variability of each of the plurality of pattern data to update the plurality of trained models; Machine learning systems.

Citation Information

Patent Citations

  • Learning data selection device

    JP2017167834A

  • Active learning device, active learning method, and program

    JP2021047751A