The present disclosure relates to an information processing device, an information processing method, and a program recording medium.
A simulation in which a physical or abstractive system is expressed by a model and an experiment using the model is conducted is executed. For example, a deformation amount when force is applied to an object (structure analysis), propagation of heat when heat is applied to a part of an object (thermal conduction analysis), motion of wind or water when wind or water hits an object (fluid analysis), and the like are simulated by a simulation device by using a mathematical model.
PTL 1 discloses a simulation method and a device thereof. In the method and device, a neural network learns a result of a simulation in which an input condition of a simulator is changed, and a simulation result with respect to a new input condition is predicted by using the neural network. Consequently, a simulation result under a new input condition is speedily acquired.
PTL 2 discloses an analysis device for analyzing a system which inputs input data including a plurality of input parameters, and outputs output data. In the device, a difference amount of output data according to a difference between input parameters of two pieces of input data is learned, based on a plurality of sets of learning data on input data and output data, and a change amount of output data is predicted according to a change amount of an input parameter. Consequently, a time and a processing amount for acquiring output data of a system are reduced.
PTL 3 discloses a moving means estimation model generation device for generating a moving means estimation model capable of estimating a moving means with high precision.
PTL 4 discloses an information processing device for specifying a condition in which a favorable result is acquired from among a plurality of scenarios in an agent-based simulation, with a smaller calculation amount.
PTL 5 discloses an information processing device for setting a parameter appropriate for pattern identification, while suppressing a processing amount and a memory capacity required for processing.
PTL 6 discloses a simulation system capable of grasping accumulation of individual pieces of constituent model result data, an overall status, and a change, and expediting company/organization diagnosis and decision making.
[PTL 1] Japanese Patent Application Laid-Open Publication No. H3-265064
[PTL 2] Japanese Patent Application Laid-Open Publication No. 2016-006587
[PTL 3] Japanese Patent Application Laid-Open Publication No. 2016-081272
[PTL 4] Japanese Patent Application Laid-Open Publication No. 2016-071383
[PTL 5] Japanese Patent Application Laid-Open Publication No. 2015-087940
[PTL 6] Japanese Patent Application Laid-Open Publication No. 2009-295017
Generally, a simulation device generates an output variable while updating an internal variable by using an input variable. However, there is a problem that it is necessary to execute a simulation for a long time in order to acquire a high-precision output variable.
In the techniques disclosed in PTLs 1 and 2 described above, although it is possible to reduce a simulation time, estimation precision on output may be lowered.
PTLs 3 to 6 fail to disclose a technique for solving the above-described problem.
In view of the above-described problem, a main object of the invention of the present application is to provide an information processing device and the like for generating an estimation model capable of acquiring a simulation output with high precision or in a short time, as compared with the technique disclosed in PTL 1 or 2.
An information processing device according to an exemplary aspect of the present invention includes: acquisition means for acquiring a value of an input variable used for executing a simulation, an updated value of an internal variable updated during execution of the simulation, and a value of an output variable indicating a result of the simulation; and learning means for learning an estimation model for estimating a simulation result by using the input variable and the updated internal variable acquired by the acquisition means as explanatory variables and the output variable acquired by the acquisition means as an objective variable.
An information processing method according to an exemplary aspect of the present invention includes: acquiring a value of an input variable used for executing a simulation, an updated value of an internal variable updated during execution of the simulation, and a value of an output variable indicating a result of the simulation; and learning an estimation model for estimating a simulation result by using the input variable and the updated internal variable acquired by the acquisition means as explanatory variables and the output variable acquired by the acquisition means as an objective variable.
A computer readable storage medium according to an exemplary aspect of the present invention records thereon a program, causing a computer to execute processes including: acquiring a value of an input variable used for executing a simulation, an updated value of an internal variable updated during execution of the simulation, and a value of an output variable indicating a result of the simulation; and learning an estimation model for estimating a simulation result by using the input variable and the updated internal variable acquired by the acquisition means as explanatory variables and the output variable acquired by the acquisition means as an objective variable.
According to the invention of the present application, an advantageous effect of enabling acquisition of a simulation output with high precision or in a short time, as compared with the technique disclosed in PTL 1 or 2, is acquired.
In the following, example embodiments of the present invention are described in detail with reference to the drawings.
The acquisition unit 110 acquires a value of an input variable used for executing a simulation, an updated value of an internal variable updated during the execution of the simulation, and a value of an output variable indicating a result of the simulation. The learning unit 120 learns an estimation model for estimating a simulation result using the input variable and the updated internal variable acquired by the acquisition unit 110 as explanatory variables, and the output variable acquired by acquisition means as an objective variable. Note that, as one example, the learning unit 120 is implemented by an output estimation model generation unit 241 described in the following example embodiments.
By employing the above-described configuration, according to the first example embodiment, an estimation model using not only an input variable but also an internal variable as explanatory variables is generated, and a simulation result is estimated using the estimation model. Therefore, an advantageous effect of enabling acquisition of a simulation output with high precision or in a short time, as compared with a technique disclosed in PTL1 or 2, is acquired.
The simulation unit 210 has a function of executing a simulation. Specifically, the simulation unit 210 includes a predetermined simulation execution model, executes a simulation, while updating a value of an internal variable using the model, and a value of an input variable stored in the first input variable storage unit 220 for executing the simulation, and outputs a value of an output variable.
The first input variable storage unit 220 stores, in advance of execution of a simulation, a value of an input variable to be input to a simulation execution model.
Note that the simulation unit 210 and the first input variable storage unit 220 may not be included in the information processing device 200. In this case, the information processing device 200 may include an acquisition means for acquiring a value of an input variable of a simulation executed using the value of the input variable for executing the simulation, and an updated value of an internal variable during execution of the simulation. Further, a simulation by the simulation unit 210 in the following description may be executed on the outside, and the information processing device 200 may acquire a result of the simulation.
The simulation result storage unit 230 stores values of input variables input to the simulation unit 210 for executing a simulation, updated values of internal variables generated by executing the simulation, and simulation results (values of output variables). The input variables for executing the simulation, the updated values of internal variables, and the simulation results are used as learning data for generating an output estimation model described later.
The learning unit 240 includes an output estimation model generation unit 241. The output estimation model generation unit 241 also serves as an acquisition unit (not illustrated) for acquiring learning data stored in the simulation result storage unit 230. The output estimation model generation unit 241 generates an output estimation model for estimating a value of an output variable after a simulation converges (hereinafter, also referred to as a “convergence value”) by learning the acquired learning data. The estimation model storage unit 250 stores the output estimation model generated by the output estimation model generation unit 241.
The simulation unit 210 holds in advance a simulation execution model such as a mathematical model, which expresses a physical or abstractive system. The simulation execution model, in execution of a simulation, repeatedly executes a step (processing) until a value of an output variable is determined to be converged, while updating an internal variable using an input value of an input variable. Note that, the information processing device 200 may acquire the value of the input variable used for executing the simulation as described above, and the updated value of the internal variable during execution of the simulation.
The estimation unit 260 estimates a value of an output variable after convergence of a simulation by using an output estimation model stored in the estimation model storage unit 250, and a new value of an input variable stored in the second input variable storage unit 270.
The second input variable storage unit 270 stores a new value of an input variable for executing a simulation (hereinafter, also referred to as an “input variable for estimation”). The estimation unit 260 estimates a value of an output variable after convergence of the simulation using the value of the input variable for estimation and an output estimation model. Note that, the input variable for estimation is not limited to be stored in the second input variable storage unit 270, but may be given from the outside.
The estimation result storage unit 280 stores a value of an output variable after convergence of a simulation, which is estimated using an output estimation model by the estimation unit 260. The value of the output variable after convergence of the simulation, which is estimated using the output estimation model, is also referred to as an “estimated value”.
The information processing device 200 executes an output estimation model generation phase, in which the above-described learning data is learned and an output estimation model for estimating a value of an output variable after convergence of a simulation is generated, and an estimation phase, in which a convergence value of the output variable is estimated using the generated output estimation model and an input variable for estimation. The output estimation model generation phase is mainly executed by the simulation unit 210 and the learning unit 240, and the estimation phase is mainly executed by the estimation unit 260.
The simulation unit 210 reads a value of an input variable from the first input variable storage unit 220 (S301).
The simulation unit 210 repeatedly executes a step in which a value of an internal variable is updated and a value of an output variable is generated using the read value of the input variable and a simulation execution model (S302).
As a result of Step 1, the values of the internal variables are updated. Subsequently, in Step 2, the simulation unit 210 executes the simulation execution model using the updated values X_1_2 and X_2_2 of the internal variables in Step 1. Further, the simulation unit 210 outputs the values Y_1_2 and Y_2_2 of the output variables. Hereinafter, similarly, the simulation unit 210 outputs values of the output variables, while updating values of the internal variables. The simulation unit 210 repeatedly executes the step until values of the output variables converge.
The simulation unit 210 writes, in the simulation result storage unit 230, a step number, an updated value of the internal variable, and a value of the output variable, for each step of the simulation execution model (S303). Note that, a value of the input variable may be written in the simulation result storage unit 230, when being input to the simulation execution model, for example.
As a result of repeating the above-described step, it is assumed that the simulation unit 210 determines that a value of the output variable has converged (Yes in S304). Note that, the simulation unit 210 may hold in advance a step number by which a value of the output variable is conceived to converge, as a predetermined step number, and repeat the step by the step number.
Subsequently, the simulation unit 210 determines whether or not data sufficient for learning are acquired. An amount of data sufficient for learning may be determined in advance.
When it is determined that data sufficient for learning are not acquired, the simulation unit 210 returns the processing to S301. The simulation unit 210 reads, from the first input variable storage unit 220, a value of the input variable associated with the next simulation ID. Further, the simulation unit 210 performs the processing S302 and S303 until the output variable converges using the read value of the input variable. The simulation unit 210 repeats the processing S301 to S304 until data sufficient for learning are acquired.
As illustrated in
It is assumed that the simulation unit 210 determines that data sufficient for learning are acquired (Yes in S305). Subsequently, the simulation unit 210 instructs the learning unit 240 to execute output estimation model generation processing.
The learning unit 240 executes the output estimation model generation processing in the output estimation model generation unit 241 in response to the instruction (S306). Specifically, the output estimation model generation unit 241 generates an output estimation model by learning a value of the input variable, an updated value of the internal variable, and the simulation result stored in the simulation result storage unit 230.
First, the output estimation model generation unit 241 determines a step t (t indicates a step number) for which the output estimation model is to be generated (S401). Herein, an “output estimation model for a step t” is a model to be learned by using, as explanatory variables, an updated value of an internal variable in any one or more steps, which is acquired when a step is repeatedly executed until the step t using a certain input variable, and a value of the certain input variable in estimation processing using the output estimation model. The estimation processing will be described later. For example, an output estimation model for a step t=“10” is a model to be learned by using, as explanatory variables, an updated value of an internal variable in any one or more steps, which is acquired when the simulation unit 210 repeatedly executes a step until the step t=“10”, and a value of an input variable in estimation processing.
Herein, it is preferable to use a less step number t for which an output estimation model is generated. Specifically, it is preferable to generate an output estimation model for a step t=“30”, as compared with an output estimation model for a step t=“50”.
This is because, in estimation processing of a convergence value of an output variable by the estimation unit 260, it is necessary to execute a simulation by the simulation unit 210 until a step for which an output estimation model is generated (details will be described later). Therefore, it is preferable to generate an output estimation model for a small step number in order to execute the estimation processing in a shorter time. Note that the output estimation model generation unit 241 may hold in advance a step number for an output estimation model.
It is assumed that the output estimation model generation unit 241 determines a step t=“10” for which an output estimation model is to be generated, for example.
Next, the output estimation model generation unit 241 selects a step number of which a value of an internal variable is to be used as an explanatory variable of an output estimation model in output estimation model generation (S402). Herein, a step number smaller than the step number determined in S401 is selected.
The output estimation model generation unit 241 may select the step number as described in the following, for example. Specifically, the output estimation model generation unit 241 may use, as an explanatory variable of an output estimation model for the step t=“10”, a value of an internal variable of a step t=“9” in each simulation. Alternatively, the output estimation model generation unit 241 may use, as explanatory variables, values of the internal variable of steps t=“1” to “9” in each simulation. Further alternatively, the output estimation model generation unit 241 may use, as explanatory variables, values of the internal variable of steps t=“1”, “3”, “5”, “7”, and “9” in each simulation. As an explanatory variable, an updated value of an internal variable in at least one step may be used. Alternatively, updated values of the internal variable in two or more steps may be used.
Further, the output estimation model generation unit 241 may have a feature selection function, and may use a value of an internal variable of a step selected by the function as an explanatory variable. In the feature selection function, a value of an input variable and updated values of internal variables (X_1(t=1), X_1(t=2), . . . , and X_1(t=N), and X_2(t=1), X_2(t=2), . . . , and X_2(t=N)) in respective steps are input as candidates for explanatory variables. Herein, N indicates a step number when a simulation is determined to have converged, and X_1(t=1) indicates a value of an internal variable X_1 in a step t=“1”, respectively.
The feature selection function selects, as an explanatory variable, a preferable variable from among input candidates. In this case, for example, when there are variables having strong correlation among a plurality of variables, the output estimation model generation unit 241 may exclude some of the plurality of variables. Further, the output estimation model generation unit 241 may select, as an explanatory variable, an updated value of an internal variable in a small step number prior to an updated value of the internal variable in a large step number. A reason for this is that an “advantageous effect of enabling acquisition of a simulation output in a short time”, which will be described later, becomes more conspicuous by not using an updated value of the internal variable in a large step number as an explanatory variable. Such a feature selection function is implemented by any method. For example, as a criterion for evaluating goodness of an explanatory variable, a term indicating penalty with respect to a magnitude of a step number may be included, in addition to a term indicating an amount of correlation with an objective variable, or lowness of redundancy with another variable. The output estimation model generation unit 241 may receive, from an operator, an explicit instruction as to which variable is used as an explanatory variable.
Subsequently, the output estimation model generation unit 241 reads, from the simulation result storage unit 230, a value of an internal variable of a step number selected in S402, a value of an input variable associated with each internal variable, and a convergence value of an output variable of the simulation executed using the value of the input variable, respectively (S403).
In the example illustrated in
The output estimation model generation unit 241 learns the read value of the input variable, the read updated value of the internal variable, and the read convergence value of the output variable to generate an output estimation model (S404). The output estimation model generation unit 241 learns using the input variable and the updated internal variable as explanatory variables, and the output variable as an objective variable. In the learning, a well-known regression analysis method such as a linear regression analysis may be employed, or any other analysis method may be employed. The output estimation model generation unit 241 completes the output estimation model generation processing illustrated in
Specifically, the example of
Estimated value Y_1est=U_1−3*U_2+X_1(t=10)−2*X_2(t=10) Equation (2)
Estimated value Y_2est=−U_1−U2+2*X_1(t=10)−X_2(t=10) Equation (3)
The output estimation model generation unit 241 generates the output estimation model according to the above-described procedure, and stores the generated output estimation model in the estimation model storage unit 250 (S307 in
Subsequently, an estimation phase of estimating a convergence value using an output estimation model generated as described above is described. Note that the estimation phase may not necessarily be executed at a same timing as the above-described output estimation model generation phase. Specifically, the estimation phase may be executed at any timing after an output estimation model is generated. A value of an input variable for estimation may be stored in the second input variable storage unit 270 at a timing when the estimation phase is executed.
The estimation unit 260 reads an output estimation model stored in the estimation model storage unit 250, and values U_1_est and U_2_est of an input variable U_1 stored in the second input variable storage unit 270 for estimation (S501).
The estimation unit 260 instructs the simulation unit 210 to execute a simulation using the read input variable for estimation. Herein, the estimation unit 260 instructs a step number to be executed to the simulation unit 210. Herein, since an output estimation model for the step t=“10” is used, the estimation unit 260 instructs the step t=“10”.
The simulation unit 210 executes a simulation using the received values U_1_est and U_2_est of the input variable for estimation, and a simulation execution model (S502). The simulation unit 210 writes, in the simulation result storage unit 230, a step number, an updated value of an internal variable, and a value of an output variable, for each step of the simulation execution model (S503). Note that, the value of the input variable for estimation may be written in the simulation result storage unit 230, when the value is input to the simulation execution model, for example.
When the step is executed by the instructed step number (Yes in S504), the simulation unit 210 notifies the estimation unit 260 of the execution. When receiving the notification, the estimation unit 260 estimates a convergence value of the output variable by inputting, to the output estimation model, the values U_1_est and U_2_est of the input variables stored in the simulation result storage unit 230, and values X200_1_10 and X200_2_10 of the internal variables of the instructed step t (herein, the step t=“10”) (S505).
The estimation unit 260 stores the estimated estimation result in the estimation result storage unit 280 (S506).
The estimation unit 260 may display, on a display device, the estimated values of the output variables calculated as illustrated in
The estimation unit 260 performs estimation of convergence values of the output variable by the output estimation model according to the above-described procedure.
As described above, according to the second example embodiment, in the information processing device 200, the output estimation model generation unit 241 of the learning unit 240 learns a value of an input variable input to the simulation unit 210, an updated value of an internal variable acquired by executing a simulation, and a simulation result; and generates an output estimation model. The estimation unit 260 estimates a convergence value of an output variable of the simulation using the output estimation model.
By employing this configuration, in the second example embodiment, an advantageous effect of enabling acquisition of a simulation output in a short time is acquired, since a simulation result is estimated using the output estimation model without executing the simulation until the simulation result converges.
Further, an advantageous effect of enabling acquisition of the simulation output with high precision, as compared with a technique disclosed in PTL 1 or 2, is acquired, since an output estimation model using not only an input variable but also an internal variable as explanatory variables is generated, and estimation is performed by using the output estimation model.
The learning unit 310 includes an error estimation model generation unit 311, in addition to the output estimation model generation unit 241 described in the second example embodiment.
The error estimation model generation unit 311 generates a model for estimating an error of an estimated value of an output variable calculated using an output estimation model. A model for estimating the error of the estimated value calculated using the output estimation model is referred to as an “error estimation model”. In the present example embodiment, generating an error estimation model, based on an output estimation model for the step t=“10”, is described.
For example, an error is a difference between a simulation result (convergence value of an output variable) Y_1last_1 and an estimated value Y_1est_1 which are obtained by inputting a value U_1_1 of an input variable to a simulation execution model and an output estimation model, respectively. In the third example embodiment, generating a model (error estimation model) for estimating the error of an estimated value as described above is described.
The error estimation model generation unit 311 generates an error estimation model, based on a convergence value of an output variable being a simulation result, and an estimated value of the output variable by an output estimation model, which is stored in an estimation result storage unit 280. Herein, the estimated value of the output variable by the output estimation model is a value calculated by inputting a value of an input variable and a value of an internal variable of a step used in the output estimation model, to the output estimation model.
First, the error estimation model generation unit 311 calculates an error of an estimated value of an output variable by an output estimation model with respect to a convergence value of the output variable being a simulation result (S601).
For example, an error E_1 is expressed by the following equation (4).
Error E_1=Y_1iast_1−Y_1est last Equation (4)
The error estimation model generation unit 311 may store error data including the above-described calculated error in the estimation result storage unit 280.
The error estimation model generation unit 311 learns error data illustrated in
Specifically, the example of
Error of an estimated value Y_1est=0.2*X_0(t=10)−0.6*X_1(t=10) Equation (5)
Error of an estimated value Y_2est=−0.1*X_0(t=10)−0.5*X_1(t=10) Equation (6)
In equation (5), for example, when it is assumed that X_0(t=10)=“9” and X_1(t=10)=“1”, it means that an estimated value Y_1est of the output variable may include an error of “±0.6”.
The error estimation model generation unit 311 generates the error estimation model according to the above-described procedure, and stores the generated error estimation model in the estimation model storage unit 250 (S603).
Note that it is possible to investigate reliability of an estimated value of an output variable based on an estimated value of an error acquired by the error estimation model generated as described above. Specifically, since there is a possibility that a simulation result is deviated from an estimated value calculated by an output estimation model by an amount corresponding to an error, investigation of an estimated value considering the error is enabled.
For example, when a parameter such that a value of an output variable Y_1 falls below “1” is designed, it is assumed that an estimated value of an output variable using an output estimation model is “0.7”, and an estimated value of an error using an error estimation model is “±0.2” for a certain parameter set
In this case, an estimated value of an output variable Y_1 considering the error becomes “0.5 to 0.9”. Therefore, it is possible to expect that the output variable Y_1 falls below “1”, even when there is an error. In other words, it is clear that designing with the parameter set “P” is allowed.
On the other hand, when an estimated value of an error is “±0.3” for the same estimated value of the output variable, an estimated value of the output variable Y_1 considering the error becomes “0.4 to 1.0”. Therefore, it is predicted that a value of the output variable Y_1 does not fall below “1”, when there is an error. In other words, it is clear that designing with the parameter set “P” is not appropriate.
Note that calculation of an error illustrated in
As described above, according to the third example embodiment, in the information processing device 300, the error estimation model generation unit 311 calculates an error of an estimated value of an output variable by an output estimation model with respect to a simulation result, and generates an error estimation model by learning the error and an updated value of an internal variable.
By employing this configuration, in the third example embodiment, an advantageous effect of enabling parameter designing considering reliability of an estimated value by an output estimation model is acquired.
The output estimation model generation unit 241a has a function of determining precision of an output estimation model, in addition to a function of the output estimation model generation unit 241 described in the second example embodiment. Specifically, the output estimation model generation unit 241a has a function of calculating precision of a generated output estimation model for a certain step, and when the precision does not satisfy a criterion, generating an output estimation model having higher precision.
As described in the third example embodiment, the error estimation model generation unit 311 calculates a difference (error) between an estimated value of an output variable by an output estimation model and a value of a simulation result. The output estimation model generation unit 241a calculates precision of the output estimation model, based on an average value of errors. The output estimation model generation unit 241a may calculate precision of the output estimation model, based on an average value of squares of a difference between the estimated value of the output variable by the output estimation model and the simulation result.
Herein, it is assumed that a simulation as described in the second example embodiment is executed, and the estimation model storage unit 250 stores an output estimation model for the step t=“10”. Further, as described in the third example embodiment, it is assumed that error data including errors calculated by the error estimation model generation unit 311, as illustrated in
The output estimation model generation unit 241a calculates an average value of the errors calculated by the error estimation model generation unit 311 (S701). Specifically, in a case of an example illustrated in
Subsequently, the output estimation model generation unit 241a compares the calculated average value with a threshold value held in advance (S702).
When the average value is larger than the threshold value (Yes in S703), the output estimation model generation unit 241a generates an output estimation model for a different step (S704).
Specifically, the output estimation model generation unit 241a generates an output estimation model for a step t which is larger than a step t for which the output estimation model has been already generated. For example, when an output estimation model for the step t=“10” has been generated, the output estimation model generation unit 241 may generate an output estimation model for the step t=“30”. Note that, the present example embodiment is not limited to generating an output estimation model for a step t larger than a step t for which an output estimation model has been already generated.
As illustrated in
The output estimation model generation unit 241a may generate an output estimation model for the step t=“30”, for example, according to the procedure described with reference to
The output estimation model generation unit 241, when generating an output estimation model whose precision satisfies a criterion, stores the model in the estimation model storage unit 250.
As described above, according to the fourth example embodiment, in the information processing device 400, the output estimation model generation unit 241a calculates precision of an output estimation model, based on an average value of errors between an estimated value of an output variable by the model and a simulation result. When the precision does not satisfy a criterion, the output estimation model generation unit 241a generates a model having higher precision.
By employing the above-described configuration, in the fourth example embodiment, an advantageous effect of enabling acquisition of a simulation output with enhanced precision is acquired, since an estimated value of an output variable is calculated by an output estimation model the precision of which satisfies a criterion.
The additional simulation result storage unit 285 stores an execution result of an additional simulation executed by the simulation unit 210.
The relearning determination unit 290 recalculates precision of an estimated value by an output estimation model, the precision of which is determined to satisfy a criterion by the output estimation model generation unit 241, as described in the fourth example embodiment, and instructs to relearn as necessary.
At a timing for determining relearning (Yes in S801), the relearning determination unit 290 reads an output estimation model from the estimation model storage unit 250 (S802). The relearning determination unit 290 may perform determination of relearning at a predetermined timing (e.g., a timing when a predetermined amount of estimated values by the output estimation model are accumulated), or at any timing.
Subsequently, the relearning determination unit 290 instructs the simulation unit 210 to execute an additional simulation (S803). The relearning determination unit 290 may provide the simulation unit 210 with a value of an input variable different from a first input variable stored in a first input variable storage unit 220, as an input variable. Further, a value of the input variable may be given from the outside.
The simulation unit 210 executes an additional simulation in response to the instruction, and stores an execution result of the simulation in the additional simulation result storage unit 285 (S804).
Subsequently, the relearning determination unit 290 calculates an estimated value by inputting, to the output estimation model read in the processing S802, the value of the input variable used for executing the additional simulation (S805).
The relearning determination unit 290 stores, in the estimation result storage unit 280, the estimation result including the calculated estimated value (S806).
Subsequently, the relearning determination unit 290 calculates an error of the estimated value by the output estimation model with respect to the simulation result (convergence value of the output variable), similarly to the error estimation model generation unit 311 in the second example embodiment (S807). Further, the relearning determination unit 290 executes relearning determination processing, based on the error (S808).
The relearning determination unit 290 calculates an average value of errors calculated in the processing S807, similarly to the operation described in the fourth example embodiment with reference to
Subsequently, the relearning determination unit 290 compares the calculated average value of errors with a threshold value held in advance (S902).
When the average value of errors is larger than the threshold value (Yes in S903), the relearning determination unit 290 instructs the output estimation model generation unit 241 to relearn (S904).
In response to a relearning instruction, the output estimation model generation unit 241 adds the additional simulation results stored in the additional simulation result storage unit 285 to learning data, and performs relearning. Specifically, the output estimation model generation unit 241 learns learning data stored in the simulation result storage unit 230 and the additional learning data stored in the additional simulation result storage unit 285 to generate an output estimation model.
Note that the present example embodiment is not limited to a configuration in which the output estimation model generation unit 241 learns all pieces of learning data and all pieces of additional learning data in relearning. The output estimation model generation unit 241 may learn all pieces of learning data and a part of additional learning data, or a part of learning data and all pieces of additional learning data. For example, the output estimation model generation unit 241 is able to increase precision of the generated estimation model by gathering and learning only results under the same simulation condition.
Alternatively, the output estimation model generation unit 241 may learn only additional learning data. For example, in a case that an estimation model is learned in a temperate climate condition, but a different estimation model has higher precision in a cold climate condition, the output estimation model generation unit 241 may re-generate an estimation model by learning only additional learning data.
At this occasion, the output estimation model generation unit 241 may generate an output estimation model for the step t=“30”. Alternatively, the output estimation model generation unit 241 may select an internal variable to be used as an explanatory variable of the output estimation model as described in the second example embodiment.
As described above, in the fifth example embodiment, in the information processing device 500, the simulation unit 210 executes an additional simulation, and the relearning determination unit 290 calculates precision of an output estimation model, based on an average value of errors between an execution result of the additional simulation and an estimated value of an output variable by the output estimation model. When the precision does not satisfy a criterion, the relearning determination unit 290 relearns learning data including the execution result of the additional simulation as additional learning data to generate an output estimation model.
By employing the above-described configuration, in the fifth example embodiment, an advantageous effect of enabling acquisition of a simulation output with higher precision is acquired, since precision is calculated for a generated output estimation model, and when the precision does not satisfy a criterion, a model is re-generated by relearning using an execution result of an additional simulation.
Note that each unit of the information processing device illustrated in
In the above-described example embodiments, as one example to be executed by the processor 11 illustrated in
When a part or the entirety of each constituent element of each device is implemented by a plurality of information processing devices, a circuitry, or the like, the plurality of information processing devices, the circuitry, or the like may be concentratedly disposed or distributively disposed. For example, an information processing device, a circuitry, or the like may be implemented as a configuration in which a client-and-server system, a cloud computing system, and the like are connected to each other via a communication network.
A computer program supplied to an information processing device as described above may be stored in a computer readable storage device such as a readable and writable memory (temporary storage medium), a hard disk device, or the like. Further, in such a case, it can be regarded that the present invention is configured by codes representing the computer program, or a storage medium storing the computer program.
While the invention has been particularly shown and described with reference to exemplary embodiments thereof, the present invention is not limited to these embodiments. It will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the claims.
This application is based upon and claims the benefit of priority based on Japanese Patent Application No. 2017-015776 filed on Jan. 31, 2017, the disclosure of which is incorporated herein in its entirety by reference.
Number | Date | Country | Kind |
---|---|---|---|
2017-015776 | Jan 2017 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2018/002017 | 1/23/2018 | WO | 00 |