WO2022050426A1 - 推定装置、推定方法及びプログラム - Google Patents

推定装置、推定方法及びプログラム Download PDF

Info

Publication number
WO2022050426A1
WO2022050426A1 PCT/JP2021/032874 JP2021032874W WO2022050426A1 WO 2022050426 A1 WO2022050426 A1 WO 2022050426A1 JP 2021032874 W JP2021032874 W JP 2021032874W WO 2022050426 A1 WO2022050426 A1 WO 2022050426A1
Authority
WO
WIPO (PCT)
Prior art keywords
state
estimation device
estimated
processors
physical model
Prior art date
Application number
PCT/JP2021/032874
Other languages
English (en)
French (fr)
Inventor
真史 吉川
Original Assignee
株式会社 Preferred Networks
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社 Preferred Networks filed Critical 株式会社 Preferred Networks
Priority to JP2022547010A priority Critical patent/JPWO2022050426A1/ja
Publication of WO2022050426A1 publication Critical patent/WO2022050426A1/ja
Priority to US18/178,721 priority patent/US20230206094A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Definitions

  • This disclosure relates to an estimation device, an estimation method and a program.
  • an estimation device including a highly accurate model representing a physical phenomenon is provided.
  • the estimation device comprises one or more memories and one or more processors.
  • the one or more processors inputs input data containing at least information about the first state into a differentiable model to calculate an estimated second state, and based on the second state and the estimated second state, said. It is configured to estimate the parameters that transition from the first state to the second state.
  • the block diagram which shows the outline of the estimation apparatus which concerns on one Embodiment.
  • the flowchart which shows the processing of the estimation apparatus which concerns on one Embodiment.
  • the figure which shows the hardware mounting example of the estimation apparatus which concerns on one Embodiment.
  • initial state first state
  • final state second state
  • the initial state and the final state may indicate a state at the timing when the observation of the physical phenomenon of interest is started, a state at the timing when the observation is ended, or may indicate another state.
  • transition states such as this physical phenomenon, it may mean the initial state and the final state at the time of interest. That is, the initial state and the final state may mean the first state and the last state in the period to be calculated.
  • the first state and the last state may be states at any two timings, for example, if the state transitions from the beginning to the end in time.
  • FIG. 1 is a block diagram showing an outline of an estimation device according to an embodiment.
  • the estimation device 1 includes an input unit 10, a storage unit 12, an estimation unit 14, and an output unit 16. For example, when the current state and parameters are input, the estimation device 1 estimates and outputs the future state.
  • the state indicates, as an example, the state of the device to be controlled.
  • the target of estimation is a plant, it may be an amount of a substance existing inside a device of the plant, or an amount including information on the internal energy of the substance and the like.
  • the parameter is, for example, a value related to control (hereinafter referred to as a control value) or a value related to the environment to be input to a device or the like to be controlled.
  • a control value is a value relating to at least one of controllable temperature, humidity, pressure, voltage, current, concentration of a substance, and the like.
  • This parameter may be, for example, time series data. That is, the parameter is, for example, all or a part of the values that can affect the physical phenomenon in the system to be estimated and which can be controlled by the user.
  • the parameters are not limited to control, and may be values that can affect the system to be estimated.
  • the value related to the environment may include information about the device to be controlled. More specifically, the environmental values may include information about the volume, volume, and shape of the device to be controlled.
  • the input unit 10 accepts input of various information.
  • the estimation device 1 inputs data and parameters regarding the current state via the input unit 10.
  • the state and the parameter may be input via the input unit 10 as data that can be separately used as teacher data.
  • the initial value of the parameter is input via the input unit 10.
  • the initial value of the parameter may be time-series data as described above, and in this case, the initial value of the parameter is input via the input unit 10.
  • the storage unit 12 temporarily stores, for example, the input data and the like.
  • the storage unit 12 may store data related to the model used for estimation.
  • the storage unit 12 may store a program, an execution file, or the like of the software if the estimation device 1 specifically realizes the processing of the software by hardware. Further, the storage unit 12 may store the estimation result.
  • the estimation unit 14 includes a forward propagation unit 140, an error calculation unit 142, a back propagation unit 144, and an update unit 146.
  • the estimation unit 14 outputs an estimation result from the input data using the physical model.
  • the estimation unit 14 inputs, for example, a state at a certain time and a parameter from a certain time into a physical model, and estimates a future state.
  • a physical model is a model that solves a physical equation based on a physical phenomenon and is a model that is differentiably generated. Further, the estimation unit 14 estimates and outputs parameters that will be in a desirable state, for example, based on the future state estimated by the above.
  • the forward propagation unit 140 executes forward propagation processing in the physical model.
  • the forward propagation process is, for example, a process of finding a numerical solution of a differential equation in the forward direction over time. More specifically, the forward propagation unit 140 sequentially acquires the state for each step (time) from the initial value and the parameter based on the differential equation of the given physical system. For example, the forward propagation unit 140 inputs a state and a control value (parameter) to the physical model, and outputs what kind of transition the state makes when the control specified in the control value is performed. Depending on the physical model, the forward propagation unit 140 may output only the final state (final state: second state) based on the differential equation.
  • the process in the forward propagation unit 140 may include the case where the mathematical formula shown by the physical model is an algebraic equation or a differential algebraic equation.
  • the forward propagation process acquires a state realized as a steady state when a certain control value or the geometric structure of the target device is input as a parameter without performing a time transition. It is a process to do.
  • the forward propagation process in the case of a differential algebraic equation is a process of finding a numerical solution of the differential algebraic equation in the forward direction over time.
  • the error calculation unit 142 calculates an error related to the state output by the forward propagation unit 140.
  • the error is calculated, for example, by comparing the final state input via the input unit 10 with the final state output by the forward propagation unit 140. Further, when performing a repetitive operation, the error calculation unit 142 compares the state input via the input unit 10 at the same time with the state based on the back-propagated and updated parameters. Calculated by
  • the backpropagation unit 144 executes the backpropagation process in the physical model.
  • the back propagation process is, for example, in the case of a differential equation and a differential algebraic equation, a process of going back in time to obtain the initial state of the error and the differential with respect to the parameter. More specifically, the back propagation unit 144, based on the error calculated by the error calculation unit 142, at least traces back the time from the final state output by the forward propagation unit 140, and acquires various values. For example, the back propagation unit 144 inputs an initial state and a control value to the physical model, and outputs what kind of state it will be when the parameters are changed a little. This backpropagation process is executed by the error calculation unit 142 finding the gradient from the state using a physical model that is differentiable or can calculate the gradient at a required time.
  • the update unit 146 updates the parameters based on the result of the back propagation by the back propagation unit 144.
  • the update unit 146 updates to a more optimum parameter based on the derivative of the error parameter output from the back propagation unit 144, and outputs the estimation. If necessary, the back propagation may be continued after the update unit 146 updates the control value. Further, as another example, the process from forward propagation may be repeated.
  • the output unit 16 outputs the result estimated by the estimation unit 14.
  • the output unit 16 may output the estimation result to the user via the user interface, or may output the data to an external file server or the like via the output interface. Further, the output unit 16 may store data in the storage unit 12. As described above, the output includes not only the output to the outside but also the output to the inside.
  • FIG. 2 is a flowchart showing the processing of the estimation device 1 according to the present embodiment. The processing flow of the estimation device 1 will be described with reference to this flowchart.
  • the data required for the estimation device 1 is input via the input unit 10 (S100).
  • the required data is, for example, data on parameters.
  • the parameter may be, for example, a quantity relating to the device.
  • the forward propagation unit 140 executes forward propagation processing using the data input based on the physical model (S102).
  • the forward propagation unit 140 calculates, for example, a state that satisfies an algebraic equation when a parameter is given.
  • the algebraic equation is expressed by, for example, the following equation.
  • f is a function representing a physical system
  • x is a state
  • is a parameter.
  • f can be expressed by a function whose variables are the state x and the parameter ⁇ .
  • the state x and the parameter ⁇ are represented by, for example, a vector.
  • This algebraic equation may be linear or non-linear.
  • the forward propagation unit 140 calculates the state transition by using a physical model (algebraic equation solver) based on the equation (1).
  • the algebraic equation solver acquires, for example, a state in which the equation (1) is satisfied or approximately satisfied by iterative calculation.
  • the forward propagation unit 140 acquires the state based on the input parameter.
  • the forward propagation unit 140 stores necessary values in the storage unit 12 based on various methods used for back propagation.
  • the error calculation unit 142 compares the state calculated by the forward propagation unit 140 with the input state to calculate the error (S104).
  • the error calculation unit 142 compares, for example, the final state (estimated second state) calculated by the forward propagation unit 140 with the input actual final state (second state), and the error (loss) is as follows. Calculate L).
  • y is the value of the input state
  • mean () is the average value of the components of the state. If it is a square error as in Eq. (2), it is possible to acquire the value of dL / d ⁇ as described later, and the error is reduced by updating ⁇ with respect to the given ⁇ . be able to.
  • the error (loss) is not limited to this function, and may be any one that can obtain a gradient with respect to ⁇ such as an appropriate norm.
  • the back propagation unit 144 back propagates the error calculated by the error calculation unit 142 (S106). By propagating the error in the opposite direction along the time axis, it is possible to perform parameter updates.
  • the update unit 146 updates the parameter ⁇ based on the back-propagated error (S108). For example, by calculating dL / d ⁇ based on Eq. (2), the gradient of L with respect to ⁇ is obtained, and the parameter ⁇ is updated by setting ⁇ - ⁇ dL / d ⁇ and the like.
  • the estimation device 1 determines whether or not the estimation is completed (S110). For this determination, for example, a desirable final state may be specified for the updated ⁇ , and the estimation process may be terminated at a timing when the error becomes smaller than a predetermined threshold value.
  • the output unit 16 may output a state to the user via the user interface, observe the output, and select whether or not the user has finished estimation. Further, the forward propagation and the back propagation may be repeated a predetermined number of times for output. In this way, the estimation end condition can be arbitrarily defined.
  • the processing from S104 is repeated. Further, as another example, the process from S102 may be repeated.
  • the processing up to S108 is repeated in S110 until the estimation end condition is satisfied.
  • the output unit 16 outputs the estimation result, and the estimation device 1 ends the process.
  • the output unit 16 may output the acquired parameter together with the estimated state, for example.
  • the estimation device 1 can estimate the state and optimize the desired parameters by using, for example, a square error. If the physical model can estimate the state with high accuracy, the estimation of this parameter can also be performed with high accuracy.
  • the physical model in the present embodiment is differentiable, so that the estimated value of the parameter ⁇ when the state x is given is acquired.
  • the state x is a vector
  • the algebraic equation satisfied by the state x is, for example, as shown in Eq. (1).
  • the solver (physical model) of the algebraic equation for this is defined as finding the state x that satisfies Eq. (1). It should be noted that the solver includes those obtained approximately.
  • Making the algebraic equation solver differentiable means, for example, making it differentiable with respect to the parameter ⁇ input to this physical model. That is, the physical model is generated so that the state x obtained to satisfy this equation (1) can be differentiated by ⁇ .
  • a method of making the physical model represented in this way differentiable will be described with an example.
  • the physical model For the generation of the physical model, that is, the numerical calculation of the algebraic equation, some methods such as Newton's method and deceleration Newton's method may be used.
  • Newton's method the physical model is a model that calculates the state based on the update formula shown below. Where df / dx is the Jacobian determinant.
  • the forward propagation unit 140 stores the finally acquired state in the storage unit 12.
  • the method of Deep Equilibrium Model may be used. According to this method, the calculation of the derivative used in the back propagation is performed based on the equation (1).
  • ⁇ f / ⁇ x and ⁇ f / ⁇ are Jacobian determinants. By using this derivative, it is finally possible to obtain dL / d ⁇ .
  • the data required for the estimation device 1 is input via the input unit 10 (S100).
  • the required data is, for example, data on states and parameters.
  • the state includes, for example, at least the initial state. Further, as the state, actual observation data including at least the final state may be input, which is used for optimization.
  • the parameter may be, for example, time series data. As an example, the parameters may be randomly determined.
  • time t0 to t1 the state x (t0) at time t0 is the initial state
  • the state x (t1) at time t1 is the final state.
  • the forward propagation unit 140 executes forward propagation processing using the data input based on the physical model (S102). For example, the forward propagation unit 140 sequentially calculates what kind of state the state should transition to when a time-series parameter is given to the state.
  • the forward propagation unit 140 calculates a numerical solution based on the physical model for the state of transition from moment to moment according to the parameter.
  • the forward propagation unit 140 calculates a numerical solution based on the differential equation represented by the following equation.
  • f is a function indicating a physical system
  • x is a state
  • is a parameter.
  • f can be expressed by a function whose variables are the state x and the parameter ⁇ .
  • the state x is represented, for example, by a vector. This differential equation may be linear or non-linear.
  • the forward propagation unit 140 calculates a numerical solution based on the differential algebraic equation represented by the following equation.
  • f is a function indicating a physical system
  • x is a state
  • is a parameter.
  • f becomes 0 when the state x, the time derivative x dot of the state, and the parameter ⁇ satisfy the relationship.
  • the state x is represented, for example, by a vector. This differential equation may be linear or non-linear.
  • the forward propagation unit 140 calculates the state transition by using a physical model (differential equation solver / differential algebraic equation solver) based on the equation (5) or (6).
  • Differential equation solver ⁇ The differential algebraic equation solver acquires the state x by numerically calculating the integrated value using, for example, the differential coefficient at each time according to the above equation.
  • the forward propagation unit 140 for example, forward propagates the physical model using the time series of the input parameters and the input initial state, and the final state (first state) based on the input parameters and the initial state (first state). Estimated second state) is acquired.
  • the forward propagation unit 140 stores necessary values in the storage unit 12 based on various methods used for back propagation.
  • the error calculation unit 142 compares the state calculated by the forward propagation unit 140 (estimated second state) with the input state (second state) to calculate the error (S104).
  • the error calculation unit 142 compares, for example, the final state (estimated second state) calculated by the forward propagation unit 140 with the input actual final state (second state), and uses the above equation (2). , Calculate the error (loss L).
  • the specific calculation method is the same as in the case of the algebraic equation described above.
  • the error (loss) is not limited to this function, as long as it can obtain a gradient with respect to ⁇ such as an appropriate norm.
  • the back propagation unit 144 back propagates the error calculated by the error calculation unit 142 (S106). By propagating the error in the reverse direction along the time axis, it is possible to update the parameters at any time from time t0 to t1.
  • the estimated value can be obtained even when the parameters are changed. It is possible, that is, it is possible to optimize the parameters. As a result, it becomes possible to perform accurate estimation of parameters and in accordance with the laws of physics.
  • the physical model in the present embodiment is differentiable, so that the estimated value of the parameter ⁇ when the state x is given is acquired.
  • the state x is a vector
  • the differential equation satisfied by the state x is, for example, as shown in Eq. (1).
  • the solver (physical model) of the differential equation at times t0 to t1 can be defined as performing the following integral.
  • Making this equation (7) differentiable means, for example, making the integration result x (t1; ⁇ ) differentiable with respect to the parameter ⁇ input to this physical model and the initial state x (t0). That is, the physical model is generated so that the equation (7) can be differentiated by ⁇ .
  • a method of making the physical model represented in this way differentiable will be described with some examples.
  • the physical model is a model that calculates the state based on the formula shown below.
  • the forward propagation unit 140 describes the data (intermediate data included in the calculation graph) obtained in the middle of the calculation and the state acquired sequentially with respect to the time at each time.
  • the state is stored in the storage unit 12. Based on the data stored in the storage unit 12, the gradient (differential value) regarding the state x (t) and the parameter ⁇ at each time can be acquired based on the equations (9) and (10).
  • each gradient can be acquired sequentially in the direction opposite to the forward propagation with respect to the time.
  • the gradient for x (t) and ⁇ at time t can be obtained by acquiring the gradient for x (t) and ⁇ at time t + ⁇ t.
  • forward propagation and back propagation calculations are performed based on Eq. (7).
  • the equation (7) is calculated in the forward direction, and when performing back propagation, a differential equation for calculating the gradient with respect to the loss is prepared, and in the reverse direction. Integrate. By calculating in this way, it becomes possible to execute the forward calculation and the reverse calculation independently.
  • the loss L is defined as in Eq. (11), and optimization is performed to minimize this loss.
  • Eq. (12) the above-mentioned calculation graph data is not used, that is, the calculation graph data is not stored in the storage unit 12, and the direction is reversed with respect to time.
  • equations (13) and (15) are differential equations for calculating the gradient (12) equation by the state x (t) of the loss function L ODE and the gradient equation (14) by the parameter ⁇ .
  • the integral by the appropriate differential equation solver is executed from t1 to t0. This process makes it possible to obtain the derivative ⁇ L ODE / ⁇ x (t0) based on the initial state of L ODE and the derivative ⁇ L ODE / ⁇ based on the parameters.
  • the data stored in the storage unit 12 can be significantly reduced as compared with the case where the forward propagation calculation graph is stored.
  • the calculation in the reverse direction calculates the time in the reverse direction with respect to a, so that the calculation may be numerically unstable, and it is not always possible to perform an appropriate calculation. For example, when the calculation in the forward direction leads to a phenomenon toward a steady state, if the calculation in the reverse direction is performed at the same location, problems such as divergence of the solution may occur. Therefore, in the form described below, the state calculated and integrated in the forward direction is used in the calculation in the reverse direction so as not to diverge.
  • Eq. (7) is calculated in the forward direction.
  • the equations (5), equations (13), and equations (14) were combined and the integral by the differential equation solver was executed in the t1 or t0 direction.
  • the x (t) calculated by the integral of equations 5) and used in the integrals of equations (13) and (14) is replaced by x (t) calculated at the time of forward propagation and stored in the storage unit 12. do. By doing so, the state x (t) calculated at the time of forward propagation without divergence can be used at the time of back propagation.
  • the timing of calculation in the forward direction it is sufficient to store the data related to the state x without storing the data of the calculation graph, so that the memory efficiency can be improved as compared with the data of the above calculation graph. can. Furthermore, since the gradient is obtained from the time series of ⁇ that can be acquired as input data and the time series of the state x acquired by the forward propagation process, the calculation that may diverge by going back in time can be calculated at the time of forward propagation. It can be replaced by calculation, and the divergence of the solution can be suppressed.
  • the time series of the state x between the times t0 and t1 is stored in the storage unit 12, but the present invention is not limited to this.
  • the time series of the state x from the time t1 ⁇ tstep to t1 may be stored in the storage unit 12 by using a predetermined time tstep (predetermined number of steps).
  • the state is not limited to this, and the state may be stored for each predetermined step (every predetermined time) from the time t0.
  • forward propagation is executed from the latest state among the stored states, and back propagation is performed based on this forward propagation state. You may do it.
  • the cost of executing forward propagation may be required as compared with the above-described embodiment, but the memory consumption can be reduced. Therefore, the stability of the solution can be ensured and the amount of memory consumed can be adjusted.
  • the forward propagation unit 140 executes forward propagation as shown in each example, stores appropriate data in the storage unit 12, and the error calculation unit 142 and the back propagation unit 144 in each example. Backpropagation is performed by performing error calculation and gradient calculation.
  • the update unit 146 can update the parameters as follows for any time ⁇ between the times t0 and t1 from the value of the gradient obtained in this way.
  • can be appropriately and arbitrarily determined.
  • the parameter update method does not have to be the above method, and any parameter update method using a gradient such as Adam or L-BFGS-B may be used.
  • the forward propagation, error calculation, back propagation, and parameter update processing may be repeated as necessary, as shown by the arrows and dotted arrows in FIG.
  • iterative operation for example, if ⁇ is made smaller, the number of times the operation is repeated increases, but the solution gradually approaches a closer solution. Not always. For example, ⁇ may be increased in the initial stage of the operation and gradually decreased.
  • the function f that appears in the formula in the above example may be selected to internally solve the algebraic equation.
  • the method of Deep Equilibrium Model may be used for the differential calculation.
  • the calculation of the gradient of the differential algebraic equation may be performed by combining the calculation method of the above example with the method of the Deep Equilibrium Model.
  • the algebraic equation may be solved numerically in forward propagation, but in backpropagation, instead of error backpropagating the solver calculation of the algebraic equation, Deep You can use the following equations from the Equilibrium Model.
  • the method of calculating the error (loss) gradient may be a method based on the Backward Differentiation Formulae (BDF).
  • BDF Backward Differentiation Formulae
  • the step size may be arbitrary.
  • the step size may be a predetermined value or a variable step size.
  • the estimation device 1 for example, when the current state and the future state are input, it is possible to output what kind of control value should be used.
  • the physical model By making the physical model differentiable, it becomes possible to execute a process that requires back propagation while properly maintaining a balance between memory consumption and stability as described above.
  • the physical model according to this embodiment can be applied to, for example, control of a distillation column, an electric circuit, a power plant, a factory, a dam, or the like.
  • the physical model used for these controls changes the state along the time axis, but it can be applied to other than those that are differentiable along the time axis.
  • it can be applied to a particle model whose state is determined based on the state of adjacent particles.
  • it is possible to form a prediction model having high accuracy and suitable for the laws of physics for a physical system represented by a linear or non-linear differential equation.
  • the range of application is not limited to physical systems, and can be applied to those that can be formulated by differential equations.
  • the model according to this embodiment can be applied to mathematical models such as economy and finance.
  • it can be used for optimizing measures in reinforcement learning in various controls. It may be used to optimize the policy by replacing the loss L in the above (for example, Eq. (2), Eq. (11), etc.) with the reward and obtaining the gradient for the reward parameter.
  • All the above trained models may be, for example, a concept including a model that has been trained as described and then distilled by a general method.
  • each device (estimation device 1) in the above-described embodiment may be configured by hardware, or software executed by a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or the like (a software (Graphics Processing Unit) or the like. It may be composed of information processing of the program).
  • software that realizes at least a part of the functions of each device in the above-described embodiment is software such as a flexible disk, a CD-ROM (Compact Disc-Read Only Memory), or a USB (Universal Serial). Bus)
  • Information processing of software may be executed by storing it in a non-temporary storage medium (non-temporary computer-readable medium) such as a memory and loading it into a computer. Further, the software may be downloaded via a communication network. Further, information processing may be executed by hardware by implementing the software in a circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
  • the type of storage medium that stores the software is not limited.
  • the storage medium is not limited to a removable one such as a magnetic disk or an optical disk, and may be a fixed type storage medium such as a hard disk or a memory. Further, the storage medium may be provided inside the computer or may be provided outside the computer.
  • FIG. 3 is a block diagram showing an example of the hardware configuration of each device (estimation device 1) in the above-described embodiment.
  • each device includes a processor 71, a main storage device 72 (memory), an auxiliary storage device 73 (memory), a network interface 74, and a device interface 75, which are connected via a bus 76. It may be realized as a computer 7.
  • the computer 7 in FIG. 3 has one component for each component, but may include a plurality of the same components. Further, although one computer 7 is shown in FIG. 3, software is installed on a plurality of computers, and each of the plurality of computers executes the same or different part of the software. May be good. In this case, it may be a form of distributed computing in which each computer communicates via a network interface 74 or the like to execute processing. That is, even if each device (estimation device 1) in the above-described embodiment is configured as a system that realizes a function by executing an instruction stored in one or a plurality of storage devices by one or a plurality of computers. good. Further, the information transmitted from the terminal may be processed by one or a plurality of computers provided on the cloud, and the processing result may be transmitted to the terminal.
  • each device (estimation device 1) in the above-described embodiment may be executed in parallel processing by using one or a plurality of processors or by using a plurality of computers via a network. Further, various operations may be distributed to a plurality of arithmetic cores in the processor and executed in parallel processing. In addition, some or all of the processes, means, etc. of the present disclosure may be executed by at least one of a processor and a storage device provided on the cloud capable of communicating with the computer 7 via a network. As described above, each device in the above-described embodiment may be in the form of parallel computing by one or a plurality of computers.
  • the processor 71 may be an electronic circuit (processing circuit, Processing circuitry, CPU, GPU, FPGA, ASIC, etc.) including a computer control device and an arithmetic unit. Further, the processor 71 may be a semiconductor device or the like including a dedicated processing circuit. The processor 71 is not limited to an electronic circuit using an electronic logic element, and may be realized by an optical circuit using an optical logic element. Further, the processor 71 may include a calculation function based on quantum computing.
  • the processor 71 can perform arithmetic processing based on data and software (programs) input from each apparatus or the like of the internal configuration of the computer 7, and output the arithmetic result or control signal to each apparatus or the like.
  • the processor 71 may control each component constituting the computer 7 by executing an OS (Operating System) of the computer 7, an application, or the like.
  • OS Operating System
  • Each device (estimation device 1) in the above-described embodiment may be realized by one or a plurality of processors 71.
  • the processor 71 may refer to one or more electronic circuits arranged on one chip, or may refer to one or more electronic circuits arranged on two or more chips or two or more devices. You may point. When a plurality of electronic circuits are used, each electronic circuit may communicate by wire or wirelessly.
  • the main storage device 72 is a storage device that stores instructions executed by the processor 71, various data, and the like, and the information stored in the main storage device 72 is read out by the processor 71.
  • the auxiliary storage device 73 is a storage device other than the main storage device 72. It should be noted that these storage devices mean arbitrary electronic components capable of storing electronic information, and may be semiconductor memories. The semiconductor memory may be either a volatile memory or a non-volatile memory.
  • the storage device for storing various data in each device (estimation device 1) in the above-described embodiment may be realized by the main storage device 72 or the auxiliary storage device 73, or may be realized by the built-in memory built in the processor 71. May be done.
  • the storage unit 12 in the above-described embodiment may be realized by the main storage device 72 or the auxiliary storage device 73.
  • processors may be connected (combined) to one storage device (memory), or a single processor may be connected.
  • a plurality of storage devices (memory) may be connected (combined) to one processor.
  • each device (estimation device 1) in the above-described embodiment is composed of at least one storage device (memory) and a plurality of processors connected (combined) to the at least one storage device (memory), a plurality of devices are configured.
  • a configuration in which at least one of the processors is connected (combined) to at least one storage device (memory) may be included. Further, this configuration may be realized by a storage device (memory) and a processor included in a plurality of computers. Further, a configuration in which the storage device (memory) is integrated with the processor (for example, a cache memory including an L1 cache and an L2 cache) may be included.
  • the network interface 74 is an interface for connecting to the communication network 8 wirelessly or by wire. As the network interface 74, an appropriate interface such as one conforming to an existing communication standard may be used. The network interface 74 may exchange information with the external device 9A connected via the communication network 8.
  • the communication network 8 may be any one of WAN (Wide Area Network), LAN (Local Area Network), PAN (Personal Area Network), or a combination thereof, and may be a combination of the computer 7 and the external device 9A. It suffices as long as information is exchanged between them.
  • An example of a WAN is the Internet
  • an example of a LAN is IEEE802.11 or Ethernet (registered trademark)
  • an example of a PAN is Bluetooth (registered trademark) or NFC (Near Field Communication).
  • the device interface 75 is an interface such as USB that directly connects to the external device 9B.
  • the external device 9A is a device connected to the computer 7 via a network.
  • the external device 9B is a device that is directly connected to the computer 7.
  • the external device 9A or the external device 9B may be an input device as an example.
  • the input device is, for example, a device such as a camera, a microphone, a motion capture, various sensors, a keyboard, a mouse, or a touch panel, and gives the acquired information to the computer 7. Further, it may be a personal computer, a tablet terminal, or a device having an input unit such as a smartphone, a memory, and a processor.
  • the external device 9A or the external device 9B may be an output device as an example.
  • the output device may be, for example, a display device such as an LCD (Liquid Crystal Display), a CRT (Cathode Ray Tube), a PDP (Plasma Display Panel), or an organic EL (Electro Luminescence) panel, or may output audio or the like. It may be an output speaker or the like. Further, it may be a personal computer, a tablet terminal, or a device having an output unit such as a smartphone, a memory, and a processor.
  • the external device 9A or the external device 9B may be a storage device (memory).
  • the external device 9A may be a network storage or the like, and the external device 9B may be a storage such as an HDD.
  • the external device 9A or the external device 9B may be a device having some functions of the components of each device (estimation device 1) in the above-described embodiment. That is, the computer 7 may transmit or receive a part or all of the processing result of the external device 9A or the external device 9B.
  • the expression (including similar expressions) of "at least one of a, b and c (one)" or "at least one of a, b or c (one)” is used. When used, it includes any of a, b, c, ab, ac, bc, or abc. It may also include multiple instances for any element, such as a-a, a-b-b, a-a-b-b-c-c, and the like. It also includes adding elements other than the listed elements (a, b and c), such as having d, such as a-b-c-d.
  • connection and “coupled” are direct connection / coupling and indirect connection / coupling. , Electrically connected / combined, communicatively connected / combined, operatively connected / combined, physically connected / combined, etc. Intended as a term.
  • the term should be interpreted as appropriate according to the context in which the term is used, but any connection / coupling form that is not intentionally or naturally excluded is not included in the term. It should be interpreted in a limited way.
  • the physical structure of the element A can execute the operation B. It has a configuration and includes that the permanent or temporary setting (setting / configuration) of the element A is set (configured / set) to actually execute the operation B. good.
  • the element A is a general-purpose processor
  • the processor has a hardware configuration capable of executing the operation B, and the operation B is set by setting a permanent or temporary program (instruction). It suffices if it is configured to actually execute.
  • the element A is a dedicated processor, a dedicated arithmetic circuit, or the like, the circuit structure of the processor actually executes the operation B regardless of whether or not the control instruction and data are actually attached. It only needs to be implemented.
  • the respective hardware when a plurality of hardware performs a predetermined process, the respective hardware may cooperate to perform the predetermined process, or some hardware may perform the predetermined process. You may do all of the above. Further, some hardware may perform a part of a predetermined process, and another hardware may perform the rest of the predetermined process.
  • expressions such as "one or more hardware performs the first process and the one or more hardware performs the second process" are used.
  • the hardware that performs the first process and the hardware that performs the second process may be the same or different. That is, the hardware that performs the first process and the hardware that performs the second process may be included in the one or a plurality of hardware.
  • the hardware may include an electronic circuit, a device including an electronic circuit, or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Feedback Control In General (AREA)

Abstract

[課題]制御の最適化が可能となる。 [解決手段]推定装置は、1又は複数のメモリと、1又は複数のプロセッサと、を備える。前記1又は複数のプロセッサは、少なくとも第1状態に関する情報を含む入力データを微分可能なモデルに入力して推定第2状態を算出し、第2状態と前記推定第2状態とに基づいて、前記第1状態から前記第2状態に遷移するパラメータを推定する、ように構成される。

Description

推定装置、推定方法及びプログラム
 本開示は、推定装置、推定方法及びプログラムに関する。
 今日、種々の目的において様々な物理現象のシミュレータが存在する。これらのシミュレータは、ある種のモデルを備え、このモデルの入出力に基づいて物理現象や制御を行った際の挙動等をシミュレーションする。しかしながら、モデル自体が微分不可能である場合がある。このような場合には、少し異なるパラメータを入力した場合に精度のよい結果を取得することが困難である。逆伝播可能なニューラルネットワークモデルを用いた例によれば、上記のようなパラメータの変化には対応することができるが、この結果が物理法則に則った制御値であるとは言いがたい。
R. T. Q. Chen, et.al., "Neural Ordinary Differential Equations," Dec. 14, 2019, arXiv:1806.07366, https://arxiv.org/abs/1806.07366 Shaojie Bai, et.al., "Deep Equilibrium Models", Sep. 3, 2019, arxiv: 1909.01377, https://arxiv.org/abs/1909.01377
 そこで、本開示では、物理現象を表す精度の高いモデルを備える推定装置を提供する。
 一実施形態によれば、推定装置は、1又は複数のメモリと、1又は複数のプロセッサと、を備える。前記1又は複数のプロセッサは、少なくとも第1状態に関する情報を含む入力データを微分可能なモデルに入力して推定第2状態を算出し、第2状態と前記推定第2状態とに基づいて、前記第1状態から前記第2状態に遷移するパラメータを推定する、ように構成される。
一実施形態に係る推定装置の概略を示すブロック図。 一実施形態に係る推定装置の処理を示すフローチャート。 一実施形態に係る推定装置のハードウェア実装例を示す図。
 以下、図面を参照して本発明の実施形態について説明する。図面及び実施形態の説明は一例として示すものであり、本発明を限定するものではない。以下、例としてプラントについて記載することがあるが、あくまで一例として記載しているだけであり、本開示の内容を限定するものではない。
 なお、本開示において、初期状態(第1状態)、最終状態(第2状態)という文言を用いるが、これは、演算の対象とする状態の初期と最終を意味してもよい。初期状態、最終状態とは、着目する物理現象等の観測を開始したタイミングにおける状態、観測を終了するタイミングにおける状態を示してもよいし、他の状態を示してもよい。この物理現象等の遷移状態のうち、着目する時間における初期状態、最終状態の意味であってもよい。すなわち、初期状態、最終状態とは、演算の対象とする期間における最初の状態と最後の状態を意味してもよい。この最初の状態と最後の状態は、状態が最初から最後へと、例えば時間的に遷移するのであれば、任意の2つのタイミングにおける状態としてもよい。以下の説明において、特に記載がない限り、最終状態と記載された場合には、入力された第2状態、又は、順伝播されて算出された推定第2状態とを文脈により読み分けることができることに留意されたい。
 (推定装置)
 図1には、一実施形態に係る推定装置の概略を示すブロック図である。推定装置1は、入力部10と、記憶部12と、推定部14と、出力部16と、を備える。この推定装置1は、例えば、現在の状態とパラメータを入力すると、将来の状態を推定して出力する。
 状態とは、一例として、制御の対象となる装置の状態を示す。より具体的な例として、推定の対象がプラントである場合には、プラントのある装置の内部に存在する物質の量、又は、当該物質の内部エネルギー等に関する情報を含む量であってもよい。
 パラメータとは、一例として、制御の対象となる装置等に入力する制御に関する値(以下、制御値とよぶ。)又は環境に関する値等である。例えば、プラントに関する推定装置1であれば、制御値は、制御可能である温度、湿度、圧力、電圧、電流、物質の濃度等の少なくとも1つに関する値である。このパラメータは、例えば、時系列のデータであってもよい。すなわち、パラメータは、例えば、推定の対象となる系における物理現象に何らかの影響を及ぼし得る値のうち、ユーザが制御できる値の全部又は一部である。制御には限られず、パラメータは、推定したいシステムに関して影響を及ぼしうる値であればよい。
 環境に関する値とは、一例として、制御の対象となる装置に関する情報を含んでもよい。より具体的には、環境に関する値は、制御の対象となる装置の体積、容積、形状に関する情報を含んでもよい。
 入力部10は、種々の情報の入力を受け付ける。例えば、推定装置1は、入力部10を介して、現在の状態に関するデータと、パラメータが入力される。また、別途教師データとなり得るデータとして、状態及びパラメータが、入力部10を介して入力されてよい。例えば、望ましい状態が分かっている場合に、初期状態からどのようなパラメータを入力すれば当該望ましい状態になるかを推定したい場合、入力部10を介してパラメータの初期値を入力する。パラメータの初期値は、上述のように時系列のデータであってもよく、この場合、パラメータの初期データを、入力部10を介して入力する。
 記憶部12は、例えば、入力されたデータ等を一時的に記憶する。この他、記憶部12は、推定に用いるモデルに関するデータを格納してもよい。記憶部12は、推定装置1がソフトウェアの処理をハードウェアにより具体的に実現するのであれば、このソフトウェアのプログラム、実行ファイル等を格納してもよい。また、記憶部12は、推定結果を格納してもよい。
 推定部14は、順伝播部140と、誤差算出部142と、逆伝播部144と、更新部146と、を備える。推定部14は、物理モデルを用いて、入力データから推定結果を出力する。推定部14は、例えば、ある時刻における状態とある時刻からのパラメータを物理モデルに入力し、将来の状態を推定する。物理モデルは、物理現象に基づいた物理方程式を解くモデルであり、微分可能に生成されたモデルである。また、推定部14は、例えば、上記により推定された将来の状態に基づいて、望ましい状態となるようなパラメータを推定して出力する。
 順伝播部140は、物理モデルにおける順伝播処理を実行する。ここで、順伝播処理とは、例えば、時間に沿って順方向に微分方程式の数値解を求める処理である。より具体的には、順伝播部140は、与えられている物理系の微分方程式に基づいて初期値及びパラメータから逐次的にステップ(時刻)ごとの状態を取得する。順伝播部140は、例えば、物理モデルに状態と制御値(パラメータ)を入力し、制御値に指定された制御をした場合に状態がどのような遷移をするかを出力する。なお、物理モデルによっては、順伝播部140は、微分方程式に基づいた最終的な状態(最終状態:第2状態)だけを出力するものであってもよい。順伝播部140における処理は、物理モデルが示す数式が代数方程式や微分代数方程式である場合も含んでよい。例えば、代数方程式の場合の順伝播処理とは、時間遷移を行わず、ある制御値や対象となる装置の幾何学的な構造等をパラメータとして入力した場合に、定常状態として実現する状態を取得する処理である。例えば、微分代数方程式の場合の順伝播処理とは、時間に沿って順方向に微分代数方程式の数値解を求める処理である。
 誤差算出部142は、順伝播部140が出力した状態に関する誤差を算出する。誤差は、例えば、入力部10を介して入力された最終的な状態と、順伝播部140が出力した最終的な状態と、を比較することにより算出される。また、繰り返し演算を行う場合には、誤差算出部142は、同じ時刻における、入力部10を介して入力された状態と、逆伝播され、更新されたパラメータに基づいた状態と、を比較することにより算出する。
 逆伝播部144は、物理モデルにおける逆伝播処理を実行する。ここで、逆伝播処理とは、例えば、微分方程式と微分代数方程式の場合は時間を遡って誤差の初期状態とパラメータに対する微分を求める処理である。より具体的には、逆伝播部144は、誤差算出部142が算出した誤差に基づいて、少なくとも順伝播部140により出力された最終的な状態から時間を遡り、種々の値を取得する。逆伝播部144は、例えば、物理モデルに、初期状態と制御値とを入力し、パラメータを少し変更した場合にどのような状態になるかを出力する。この逆伝播処理は、微分可能、又は、必要な時刻において勾配が算出可能な物理モデルを用いて、誤差算出部142が状態から勾配を求めることにより実行される。
 更新部146は、逆伝播部144により逆伝播された結果に基づいて、パラメータを更新する。更新部146は、例えば、逆伝播部144から出力された誤差のパラメータによる微分に基づいて、より最適なパラメータに更新し、推定として出力する。なお、必要があれば、更新部146が制御値の更新をした後に、逆伝播を続行してもよい。また、別の例としては、順伝播からの処理を繰り返してもよい。
 出力部16は、推定部14が推定した結果を出力する。出力部16は、ユーザインタフェースを介して推定結果をユーザへと出力してもよいし、出力インタフェースを介して外部のファイルサーバ等にデータを出力してもよい。また、出力部16は、記憶部12へとデータを格納してもよい。出力とは、このように、外部への出力はもちろん、内部への出力も含むものとする。
 図2は、本実施形態に係る推定装置1の処理を示すフローチャートである。このフローチャートを用いて推定装置1の処理の流れについて説明する。
 (代数方程式の場合)
 まず、入力部10を介して推定装置1に必要となるデータを入力する(S100)。必要となるデータは、例えば、パラメータに関するデータである。パラメータは、例えば装置に関する量であってもよい。
 次に、順伝播部140は、物理モデルに基づいて入力されたデータを用いて順伝播処理を実行する(S102)。順伝播部140は、例えば、パラメータが与えられた場合に、代数方程式を満たす状態を算出する。代数方程式は、例えば以下の式で表される。
Figure JPOXMLDOC01-appb-M000001
ここで、fは、物理系を表す関数、xを状態、θをパラメータとする。fは、(1)式に示すように、状態xとパラメータθを変数とする関数で表すことができる。状態x及びパラメータθは、例えばベクトルで表される。この代数方程式は、線形であっても良いし、非線形であっても良い。
 順伝播部140は、(1)式に基づいて物理モデル(代数方程式ソルバ)を用いることにより、状態の遷移を算出する。代数方程式ソルバは、例えば、繰り返し計算によって、(1)式を満たす、あるいは近似的に満たす状態を取得する。順伝播部140は、入力されたパラメータに基づく状態を取得する。順伝播部140は、逆伝播に用いる種々の方法に基づいて、必要な値を記憶部12に格納する。
 次に、誤差算出部142は、順伝播部140が算出した状態と、入力された状態とを比較して、誤差を算出する(S104)。誤差算出部142は、例えば、順伝播部140が算出した最終状態(推定第2状態)と、入力された実際の最終状態(第2状態)とを比較して、以下のように誤差(ロスL)を算出する。
Figure JPOXMLDOC01-appb-M000002
ここで、yは、入力された状態の値であり、mean()は、状態の成分の平均値を示す。(2)式のような2乗誤差であれば、後述するように、dL/dθの値を取得することが可能となり、与えられたθに対して、θを更新することにより誤差を小さくすることができる。誤差(ロス)は、この関数には限られず、例えば、適切なノルムといったθに対する勾配を取得できるものであればよい。
 次に、逆伝播部144は、誤差算出部142が算出した誤差を逆伝播する(S106)。誤差を、時間軸を遡って逆方向に伝播することにより、パラメータの更新を実行することが可能となる。
 次に、更新部146は、逆伝播された誤差に基づいて、パラメータθを更新する(S108)。例えば、(2)式に基づいてdL/dθを算出することにより、θに対するLの勾配を取得し、θ - ε dL/dθ等とすることにより、パラメータθを更新する。
 次に、推定装置1は、推定が終了したか否かを判断する(S110)。この判断は、例えば、更新されるθに対して望ましい最終状態を指定しておき、誤差が所定のしきい値よりも小さくなるタイミングで推定処理を終了としてもよい。別の例として、出力部16がユーザインタフェースを介してユーザに状態を出力し、その出力を観察してユーザが推定終了か否かを選択してもよい。また、所定回数の順伝播と逆伝播を繰り返して出力してもよい。このように、推定の終了条件は、任意に定義することが可能である。
 推定が終了でないと判断した場合(S110:NO)、S104からの処理を繰り返す。また、別の例として、S102からの処理を繰り返してもよい。
 S108までの処理は、S110において推定の終了条件を満たすまで繰り返される。推定が終了であると判断される(S110:YES)、出力部16は、推定結果を出力し、推定装置1は、処理を終了する。出力部16は、パラメータを変更した場合、例えば、推定された状態とともに、取得したパラメータを出力してもよい。このように、推定装置1は、状態を推定するとともに、望ましいパラメータを、例えば、2乗誤差等を用いて最適化することもできる。物理モデルが精度のよい状態の推定をすることができる場合、このパラメータの推定も精度よく実行することが可能となる。
 以上のように、代数方程式で表される系の状態を推定する物理モデルをパラメータで微分可能に生成することにより、例えば、パラメータを変更した場合にも推定値の取得が可能となり、すなわち、パラメータを最適化することが可能となる。この結果、パラメータの精度のよい、かつ、物理法則に則った精度のよい推定を実行することが可能となる。
 (代数方程式の物理モデル)
 次に、代数方程式の物理モデルとその微分方法について説明する。
 上記のように、本実施形態における物理モデルは、微分可能であることにより、状態xが与えられた場合のパラメータθの推定値を取得する。状態xをベクトルとすると、状態xが満たす代数方程式は、例えば、(1)式の通りである。
 これに対する代数方程式のソルバ(物理モデル)は、(1)式を満たす状態xを求めるものと定義する。なお、ソルバは、近似的に求めるものも含む。
 代数方程式ソルバを微分可能にするとは、例えば、この物理モデルに入力されるパラメータθに対して微分可能にすることをいう。すなわち、この(1)式を満たすように求められた状態xがθで微分可能になるように物理モデルは生成される。このように表される物理モデルを微分可能にする方法について、例を挙げて説明する。
 物理モデルの生成、つまり代数方程式の数値計算には、例えば、ニュートン法、減速ニュートン法等のいくつかの手法を用いてもよい。例えば、ニュートン法を用いる場合には、物理モデルは、以下に示す更新式に基づいて状態を算出するモデルである。
Figure JPOXMLDOC01-appb-M000003
ここでdf/dxはヤコビ行列である。この物理モデルを用いる場合には、順伝播部140は、最終的に取得される状態を記憶部12に格納する。
 逆伝播では、Deep Equilibrium Modelの手法を用いても良い。この手法によれば、(1)式に基づいて、逆伝播で使われる微分の計算を実行する。
Figure JPOXMLDOC01-appb-M000004
ここで∂f/∂x, ∂f/∂θはヤコビ行列である。この微分を使うことによって、最終的にdL/dθを求めることが可能となる。
 (微分方程式、微分代数方程式の場合)
 まず、入力部10を介して推定装置1に必要となるデータを入力する(S100)。必要となるデータは、例えば、状態とパラメータに関するデータである。状態は、例えば、初期状態を少なくとも含む。また、状態として、最終状態を少なくとも含む実際の観測データを入力してもよく、これは、最適化に用いられる。パラメータは、例えば、時系列のデータであってもよい。一例として、パラメータは、ランダムに決定されたものを入力してもよい。以下、時刻t0~t1に関して着目し、時刻t0における状態x(t0)を初期状態とし、時刻t1における状態x(t1)を最終状態とする。
 次に、順伝播部140は、物理モデルに基づいて入力されたデータを用いて順伝播処理を実行する(S102)。順伝播部140は、例えば、状態に対して時系列のパラメータが与えられた場合に、どのような状態へと遷移するかを逐次的に算出する。パラメータが時系列のデータである場合には、順伝播部140は、パラメータにしたがい、刻々と遷移する状態を物理モデルに基づいて数値解を算出する。例えば、微分方程式の場合、順伝播部140は、以下の式で表される微分方程式に基づいて数値解を算出する。
Figure JPOXMLDOC01-appb-M000005
ここで、fは、物理系を示す関数、xを状態、θをパラメータとする。fは、(1)式に示すように、状態xとパラメータθを変数とする関数で表すことができる。状態xは、例えば、ベクトルで表される。この微分方程式は、線形であってもよいし、非線形であってもよい。
 例えば、微分代数方程式の場合、順伝播部140は、以下の式で表される微分代数方程式に基づいて数値解を算出する。
Figure JPOXMLDOC01-appb-M000006
ここで、fは、物理系を示す関数、xを状態、xドットを状態の時間微分(= dx/dt)、θをパラメータとする。fは、(6)式に示すように、状態xと状態の時間微分xドットとパラメータθが関係を満たす時に0になる。状態xは、例えば、ベクトルで表される。この微分方程式は、線形であってもよいし、非線形であってもよい。
 順伝播部140は、(5)式又は(6)式に基づいて物理モデル(微分方程式ソルバ・微分代数方程式ソルバ)を用いることにより、状態の遷移を算出する。微分方程式ソルバ・微分代数方程式ソルバは、例えば、上記の式にしたがった時刻ごとにおける微分係数を用いて、積分値を数値計算で算出することにより、状態xを取得する。順伝播部140は、例えば、入力されたパラメータの時系列と、入力された初期状態を用いて物理モデルを順伝播して、入力されたパラメータ及び初期状態(第1状態)に基づく最終状態(推定第2状態)を取得する。順伝播部140は、逆伝播に用いる種々の方法に基づいて、必要な値を記憶部12に格納する。
 次に、誤差算出部142は、順伝播部140が算出した状態(推定第2状態)と、入力された状態(第2状態)とを比較して、誤差を算出する(S104)。誤差算出部142は、例えば、順伝播部140が算出した最終状態(推定第2状態)と、入力された実際の最終状態(第2状態)とを比較して、上述した(2)式により、誤差(ロスL)を算出する。具体的な算出方法は、上述した代数方程式の場合と同様である。もちろん、この場合でも、誤差(ロス)は、この関数には限られず、例えば、適切なノルムといったθに対する勾配を取得できるものであればよい。
 次に、逆伝播部144は、誤差算出部142が算出した誤差を逆伝播する(S106)。誤差を、時間軸を遡って逆方向に伝播することにより、時刻t0~t1における任意の時刻におけるパラメータの更新を実行することが可能となる。
 S108からS110までの処理も、上述の代数方程式の場合と同様である。
 以上のように、時間に関する微分方程式・微分代数方程式で表される系の状態を推定する物理モデルをパラメータで微分可能に生成することにより、例えば、パラメータを変更した場合にも推定値の取得が可能となり、すなわち、パラメータを最適化することが可能となる。この結果、パラメータの精度のよい、かつ、物理法則に則った精度のよい推定を実行することが可能となる。
 (微分方程式・微分代数方程式の物理モデル)
 次に、物理モデルについて説明する。以下では微分方程式の場合を説明するが、微分代数方程式の場合でも同様の微分計算方法を使用しても良い。
 上記のように、本実施形態における物理モデルは、微分可能であることにより、状態xが与えられた場合のパラメータθの推定値を取得する。状態xをベクトルとすると、状態xが満たす微分方程式は、例えば、(1)式の通りである。
 これに対する時刻t0~t1における微分方程式のソルバ(物理モデル)は、以下の積分を実行するものと定義することができる。
Figure JPOXMLDOC01-appb-M000007
 この(7)式を微分可能にするとは、例えば、この物理モデルに入力されるパラメータθと初期状態x(t0)に対して積分結果x(t1; θ)を微分可能にすることをいう。すなわち、この(7)式がθで微分可能になるように物理モデルは生成される。このように表される物理モデルを微分可能にする方法について、いくつか例を挙げて説明する。
 (第1例)
 物理モデルの生成には、例えば、オイラー法、中点法、ルンゲ=クッタ法等のいくつかの手法を用いてもよい。例えば、オイラー法を用いる場合には、物理モデルは、以下に示す式に基づいて状態を算出するモデルである。
Figure JPOXMLDOC01-appb-M000008
この物理モデルを用いる場合には、順伝播部140は、時刻に対して逐次的に取得される状態について、演算の途中で得られたデータ(計算グラフに含まれる中間データ)と、各時刻における状態を記憶部12に格納する。記憶部12に記憶されているデータに基づき、各時刻の状態x(t)とパラメータθに関する勾配(微分値)を(9)式、(10)式に基づいて取得することができる。
Figure JPOXMLDOC01-appb-M000009
Figure JPOXMLDOC01-appb-M000010
この式において、時刻に対して順伝播とは逆向きに逐次的にそれぞれの勾配を取得することができる。時刻tにおけるx(t)とθについての勾配は、時刻t + Δtにおけるx(t)とθについての勾配を取得することにより求めることができる。
 df/dxは、記憶部12に格納されている値により取得することが可能である。さらに、例えば、ロス関数が最終状態のみに依存するとすると、∂L/∂x(t1)が計算でき、また(∂L/∂θ) t1 = 0として、(9)式、(10)式に基づいて、逐次的に状態x(t)、パラメータθによる微分値を取得することが可能となる。すなわち、ロス関数Lの初期状態x(t0)、パラメータθについての勾配を取得することが可能である。このように、順伝播した途中経過を記憶部12に記憶しておくことにより、物理モデルを微分可能とすることができる。
 なお、実際には、オイラー法では誤差が大きくなったり、解が望ましいものに収束しなかったりするが、上記の記憶部12に全ての計算の経過を記憶する手法を用いれば、ルンゲ=クッタ法等においても同様に計算を実行することが可能である。
 このように、微分方程式ソルバの計算グラフを誤差逆伝播することにより、ロス関数Lの状態x、パラメータθについての勾配を算出することが可能となる。なお、ロス関数が最終状態x(τ)のみではなく、途中状態に依存している場合でも、同様に誤差逆伝播することにより、勾配を算出することが可能である。
 (第2例)
 上記の方法では、常微分方程式を逆伝播するために、順伝播における計算グラフを記憶部12に格納するため、大きなメモリが必要となる。これを回避するべく、Neural ODE(Ordinary Differential Equations)の手法を用いてもよい。
 この手法によれば、(7)式に基づいて、順伝播及び逆伝播の計算を実行する。順伝播を実行する場合には、(7)式を順方向に向かって計算し、逆伝播を実行する場合には、ロスに対する勾配を計算するための微分方程式を用意し、逆方向に向かって積分する。このように計算することにより、順方向の計算と、逆方向の計算を独立して実行することが可能となる。
 物理モデルの生成は、ロスLを(11)式のように定義し、このロスを最小化する最適化を実行する。
Figure JPOXMLDOC01-appb-M000011
このロスに対して、(12)式のようなaを定義することにより、上記した計算グラフのデータを用いずに、すなわち、記憶部12に計算グラフのデータを格納することなく時間について逆方向の計算を(13)式にしたがって実行することが可能となる。
Figure JPOXMLDOC01-appb-M000012
Figure JPOXMLDOC01-appb-M000013
Figure JPOXMLDOC01-appb-M000014
Figure JPOXMLDOC01-appb-M000015
ここで、(13)式、(15)式は、ロス関数LODEの状態x(t)による勾配(12)式、とパラメータθによる勾配(14)式を計算するための微分方程式になっており、(5)式と連立させて、適切な微分方程式ソルバによる積分を、t1からt0方向に実行する。この処理により、LODEの初期状態による微分∂LODE/∂x(t0)と、パラメータによる微分∂LODE/∂θを取得することが可能になる。
 (第3例)
 上記のNeural ODEを用いた方法では、記憶部12において格納されるデータを、順伝播の計算グラフを格納する場合に比べて大幅に減少することが可能である。一方で、逆方向の計算は、aについて時間を逆方向に計算するため、数値的に不安定な計算になることがあり、必ずしも適切な計算ができるとは限らない。例えば、順方向における計算で定常状態に向かう現象になる場合に、同様の箇所で逆方向の計算をすると、解が発散する等の問題が発生し得る。そこで、以下に説明する形態においては、順方向で計算し積分した状態を、逆方向の計算で使うことにし、発散しないようにする。
 この手法によれば、順伝播を実行する場合には、(7)式を順方向に向かって計算する。第2例では、逆伝播の時に、(5)、式(13)、式(14)式を連立させて、微分方程式ソルバによる積分を、t1かt0方向に実行していたが、ここで(5)式の積分によって計算され、(13)式、(14)式の積分で使用されるx(t)を、順伝播の時に計算して記憶部12に格納されたx(t)で代用する。このようにすることで、発散しない順伝播の時に計算された状態x(t)を逆伝播の時にしようすることができる。
 本手法によれば、順方向における計算のタイミングにおいては、計算グラフのデータを格納せず、状態xに関するデータを格納すればよいので、上記の計算グラフのデータよりもメモリ効率を改善することができる。さらに、入力データとして取得できるθの時系列と、順伝播処理により取得された状態xの時系列から勾配を求めるので、時間を遡ることにより発散する可能性がある計算を、順伝播の時の計算で代替することができ、解が発散することを抑制することができる。
 (第4例)
 上記の第3例においては、時刻t0~t1の間の状態xの時系列を記憶部12に格納するものとしたが、これには限られない。例えば、所定の時間tstep(所定ステップ数)を用いて、時刻t1 - tstep~t1までの状態xの時系列を記憶部12に格納してもよい。
 この場合、時刻t1 - tstepから時刻t1までの状態遷移に基づいて、第3例と同様(13)式、(15)式にしたがって逆伝播を実行することが可能である。逆伝播を時刻t1 - tstepよりも遡る必要がある場合には、時刻t0から順伝播処理を実行し、必要な状態を算出する。
 また、これには限られず、時刻t0から所定ステップごと(所定時刻ごと)に状態を記憶しておいてもよい。逆伝播において時刻t1 - tstepより前の状態のデータが必要な場合においては、格納されている状態のうち、直近の状態から順伝播を実行し、この順伝播された状態に基づいて逆伝播を実行してもよい。
 このように、本形態においては、上記の形態と比較して順伝播を実行するコストが必要となる可能性がある一方で、メモリの消費量を少なくすることができる。このため、解の安定性を担保するとともに、消費メモリ量の調整をすることができる。
 ここでの、微分方程式・微分代数方程式の、説明ではx(t0)の状態が与えられている場合にx(t1)を求め、L(x(t1))の微分を求めることを行なっていたが、t0, t1, t2というように、時間は複数あっても良い。x(t0)が与えられていて、誤差関数がL(x(t0), x(t1), x(t2))とそれぞれの時刻の状態に依存していたとしても、Lの初期状態x(t0)とパラメータθに関する微分がそれぞれの4つの例で可能である。
 本実施形態に係る物理モデルは、順伝播部140が各例に示すように順伝播を実行しつつ記憶部12に適切なデータを格納し、誤差算出部142及び逆伝播部144が各例における誤差算出及び勾配算出を実行することにより逆伝播を実行する。
 更新部146は、このように求められた勾配の値から、時刻t0~t1の間の任意の時刻τについて、以下のようにパラメータを更新することが可能である。
Figure JPOXMLDOC01-appb-M000016
ここで、εは、適切に任意に決定することが可能である。
 また、パラメータの更新方法は上記の方法でなくても良い、AdamやL-BFGS-Bなどの勾配を用いたパラメータ更新方法なら何でも良い。
 この順伝播、誤差算出、逆伝播、及び、パラメータ更新の処理は、図2の矢印及び点線矢印で示されるように、必要に応じて繰り返し実行してもよい。繰り返し演算をする場合、例えば、εを小さくすると、演算の繰り返し回数が増加するが、徐々に近い解に近づいて行くし、ある程度大きくすると、初期段階における収束は速いが、精度のよい解に収束するとは限らない。例えば、演算の初期段階においてεを大きくし、徐々に小さくしてもよい。
 上記の例での式で出てきた、関数fの微分が登場する項は、ニューラルネットワークで使われているような誤差逆伝播により求めても良い。
 上記の例での式で出てきた、関数fは内部で代数方程式を解く処理を行うものを選択しても良い。この場合の微分計算ではDeep Equilibrium Modelの手法を使っても良い。
 微分代数方程式の勾配の計算は、上記の例の計算方法とDeep Equilibrium Modelの手法を組み合わせても良い。例えば、第一例で微分代数方程式を数値的に解く場合に、順伝播では代数方程式を数値的に解く場合があるが、逆伝播では代数方程式のソルバの計算を誤差逆伝播する代わりに、Deep Equilibrium Modelによる以下の式による計算を使用することができる。
Figure JPOXMLDOC01-appb-M000017
 (第5例)
 代数微分方程式により系が表される場合、誤差(ロス)の勾配を算出する方法は、後退微分法(BDF:Backward Differentiation Formulae)に基づいた方法としてもよい。(6)式がステップごとに成り立つことを用いると、ステップごとの代数方程式を解く問題に帰着することができる。より具体的には、過去の所定ステップ数sの状態xとパラメータθ を用いて、次のステップの状態を求めるための代数方程式を近似的に生成することができる。例えば、過去の所定ステップ数sと次のステップにおける状態についての(6)式を、以下のように書き換える。
Figure JPOXMLDOC01-appb-M000018
 誤差の勾配dL/dx、dL/dθを、(18)式に示されるgを用いて以下のように変形する。
Figure JPOXMLDOC01-appb-M000019
Figure JPOXMLDOC01-appb-M000020
 (19)式、(20)式により、誤差の勾配を数値的に算出することが可能であるので、上記の各例と同様に、入力された各ステップの状態に対するパラメータを適切に設定することが可能となる。
 なお、上述の後退微分法においては、ステップの刻み幅は、任意としてもよい。例えば、所定値の刻み幅としてもよいし、可変の刻み幅としてもよい。
 上記においては、(6)式のように陰に微分方程式が表される場合に、BDFを用いることとしたが、これには限られない。例えば、(5)式のように陽に微分方程式が表される場合についても、同様に式を変形することにより、(19)式、(20)式を用いて誤差の勾配を取得することが可能である。
 以上のように、本実施形態に係る推定装置1によれば、例えば、現在の状態と将来の状態を入力すると、どのような制御値をすればよいかを出力することができる。物理モデルを微分可能にすることにより、上記のようにメモリ消費量と、安定性との平仄を適切に維持した上で、逆伝播を必要とする処理を実行することが可能となる。
 本実施形態に係る物理モデルは、例えば、蒸留塔、電気回路、発電所、工場、ダム等の制御に応用することが可能である。これらの制御に用いる物理モデルは、時間軸に沿って状態が遷移するものであるが、時間軸に沿って微分可能なもの以外にも適用することが可能である。例えば、隣接する粒子の状態に基づいて状態が決定される粒子のモデル等にも応用することができる。このように、本実施形態によれば、線形又は非線形な微分方程式で示される物理系について、精度が高く、かつ、物理法則に適した予測モデルを形成することが可能となる。
 また、応用する範囲は、物理系には限られず、微分方程式で定式化できるものに応用することが可能である。例えば、本実施形態に係るモデルは、経済、金融等の数理モデルにも応用することが可能である。
 また、別の応用例として、種々の制御における強化学習における方策の最適化に用いることも可能である。上記におけるロスL(例えば、(2)式、(11)式等)を報酬に置き換え、報酬のパラメータについての勾配を求めることにより、方策を最適化することに用いてもよい。
 上記の全ての訓練済モデルは、例えば、説明したように訓練した上で、さらに、一般的な手法により蒸留されたモデルを含む概念であってもよい。
 前述した実施形態における各装置(推定装置1)の一部又は全部は、ハードウェアで構成されていてもよいし、CPU(Central Processing Unit)、又はGPU(Graphics Processing Unit)等が実行するソフトウェア(プログラム)の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、前述した実施形態における各装置の少なくとも一部の機能を実現するソフトウェアを、フレキシブルディスク、CD-ROM(Compact Disc-Read Only Memory)又はUSB(Universal Serial Bus)メモリ等の非一時的な記憶媒体(非一時的なコンピュータ可読媒体)に収納し、コンピュータに読み込ませることにより、ソフトウェアの情報処理を実行してもよい。また、通信ネットワークを介して当該ソフトウェアがダウンロードされてもよい。さらに、ソフトウェアがASIC(Application Specific Integrated Circuit)又はFPGA(Field Programmable Gate Array)等の回路に実装されることにより、情報処理がハードウェアにより実行されてもよい。
 ソフトウェアを収納する記憶媒体の種類は限定されるものではない。記憶媒体は、磁気ディスク、又は光ディスク等の着脱可能なものに限定されず、ハードディスク、又はメモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし、コンピュータ外部に備えられてもよい。
 図3は、前述した実施形態における各装置(推定装置1)のハードウェア構成の一例を示すブロック図である。各装置は、一例として、プロセッサ71と、主記憶装置72(メモリ)と、補助記憶装置73(メモリ)と、ネットワークインタフェース74と、デバイスインタフェース75と、を備え、これらがバス76を介して接続されたコンピュータ7として実現されてもよい。
 図3のコンピュータ7は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図3では、1台のコンピュータ7が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース74等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、前述した実施形態における各装置(推定装置1)は、1又は複数の記憶装置に記憶された命令を1台又は複数台のコンピュータが実行することで機能を実現するシステムとして構成されてもよい。また、端末から送信された情報をクラウド上に設けられた1台又は複数台のコンピュータで処理し、この処理結果を端末に送信するような構成であってもよい。
 前述した実施形態における各装置(推定装置1)の各種演算は、1又は複数のプロセッサを用いて、又は、ネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介してコンピュータ7と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実行されてもよい。このように、前述した実施形態における各装置は、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。
 プロセッサ71は、コンピュータの制御装置及び演算装置を含む電子回路(処理回路、Processing circuit、Processing circuitry、CPU、GPU、FPGA又はASIC等)であってもよい。また、プロセッサ71は、専用の処理回路を含む半導体装置等であってもよい。プロセッサ71は、電子論理素子を用いた電子回路に限定されるものではなく、光論理素子を用いた光回路により実現されてもよい。また、プロセッサ71は、量子コンピューティングに基づく演算機能を含むものであってもよい。
 プロセッサ71は、コンピュータ7の内部構成の各装置等から入力されたデータやソフトウェア(プログラム)に基づいて演算処理を行い、演算結果や制御信号を各装置等に出力することができる。プロセッサ71は、コンピュータ7のOS(Operating System)や、アプリケーション等を実行することにより、コンピュータ7を構成する各構成要素を制御してもよい。
 前述した実施形態における各装置(推定装置1)は、1又は複数のプロセッサ71により実現されてもよい。ここで、プロセッサ71は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいは2つ以上のデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
 主記憶装置72は、プロセッサ71が実行する命令及び各種データ等を記憶する記憶装置であり、主記憶装置72に記憶された情報がプロセッサ71により読み出される。補助記憶装置73は、主記憶装置72以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ、不揮発性メモリのいずれでもよい。前述した実施形態における各装置(推定装置1)において各種データを保存するための記憶装置は、主記憶装置72又は補助記憶装置73により実現されてもよく、プロセッサ71に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における記憶部12は、主記憶装置72又は補助記憶装置73により実現されてもよい。
 記憶装置(メモリ)1つに対して、複数のプロセッサが接続(結合)されてもよいし、単数のプロセッサが接続されてもよい。プロセッサ1つに対して、複数の記憶装置(メモリ)が接続(結合)されてもよい。前述した実施形態における各装置(推定装置1)が、少なくとも1つの記憶装置(メモリ)とこの少なくとも1つの記憶装置(メモリ)に接続(結合)される複数のプロセッサで構成される場合、複数のプロセッサのうち少なくとも1つのプロセッサが、少なくとも1つの記憶装置(メモリ)に接続(結合)される構成を含んでもよい。また、複数台のコンピュータに含まれる記憶装置(メモリ))とプロセッサによって、この構成が実現されてもよい。さらに、記憶装置(メモリ)がプロセッサと一体になっている構成(例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ)を含んでもよい。
 ネットワークインタフェース74は、無線又は有線により、通信ネットワーク8に接続するためのインタフェースである。ネットワークインタフェース74は、既存の通信規格に適合したもの等、適切なインタフェースを用いればよい。ネットワークインタフェース74により、通信ネットワーク8を介して接続された外部装置9Aと情報のやり取りが行われてもよい。なお、通信ネットワーク8は、WAN(Wide Area Network)、LAN(Local Area Network)、PAN(Personal Area Network)等のいずれか、又は、それらの組み合わせであってよく、コンピュータ7と外部装置9Aとの間で情報のやりとりが行われるものであればよい。WANの一例としてインターネット等があり、LANの一例としてIEEE802.11やイーサネット(登録商標)等があり、PANの一例としてBluetooth(登録商標)やNFC(Near Field Communication)等がある。
 デバイスインタフェース75は、外部装置9Bと直接接続するUSB等のインタフェースである。
 外部装置9Aは、コンピュータ7とネットワークを介して接続されている装置である。外部装置9Bは、コンピュータ7と直接接続されている装置である。
 外部装置9A又は外部装置9Bは、一例として、入力装置であってもよい。入力装置は、例えば、カメラ、マイクロフォン、モーションキャプチャ、各種センサ等、キーボード、マウス、又は、タッチパネル等のデバイスであり、取得した情報をコンピュータ7に与える。また、パーソナルコンピュータ、タブレット端末、又は、スマートフォン等の入力部とメモリとプロセッサを備えるデバイスであってもよい。
 また、外部装置9A又は外部装置9Bは、一例として、出力装置でもよい。出力装置は、例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、又は、有機EL(Electro Luminescence)パネル等の表示装置であってもよいし、音声等を出力するスピーカ等であってもよい。また、パーソナルコンピュータ、タブレット端末、又は、スマートフォン等の出力部とメモリとプロセッサを備えるデバイスであってもよい。
 また、外部装置9A又は外部装置9Bは、記憶装置(メモリ)であってもよい。例えば、外部装置9Aは、ネットワークストレージ等であってもよく、外部装置9Bは、HDD等のストレージであってもよい。
 また、外部装置9A又は外部装置9Bは、前述した実施形態における各装置(推定装置1)の構成要素の一部の機能を有する装置でもよい。つまり、コンピュータ7は、外部装置9A又は外部装置9Bの処理結果の一部又は全部を送信又は受信してもよい。
 本明細書(請求項を含む)において、「a、b及びcの少なくとも1つ(一方)」又は「a、b又はcの少なくとも1つ(一方)」の表現(同様な表現を含む)が用いられる場合は、a、b、c、a-b、a-c、b-c、又は、a-b-cのいずれかを含む。また、a-a、a-b-b、a-a-b-b-c-c等のように、いずれかの要素について複数のインスタンスを含んでもよい。さらに、a-b-c-dのようにdを有する等、列挙された要素(a、b及びc)以外の他の要素を加えることも含む。
 本明細書(請求項を含む)において、「データを入力として/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)が用いられる場合は、特に断りがない場合、各種データそのものを入力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を入力として用いる場合を含む。また「データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合、当該データのみに基づいて当該結果が得られる場合を含むとともに、当該データ以外の他のデータ、要因、条件、及び/又は状態等にも影響を受けて当該結果が得られる場合をも含み得る。また、「データを出力する」旨が記載されている場合、特に断りがない場合、各種データそのものを出力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を出力とする場合も含む。
 本明細書(請求項を含む)において、「接続される(connected)」及び「結合される(coupled)」との用語が用いられる場合は、直接的な接続/結合、間接的な接続/結合、電気的(electrically)な接続/結合、通信的(communicatively)な接続/結合、機能的(operatively)な接続/結合、物理的(physically)な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。
 本明細書(請求項を含む)において、「AがBするよう構成される(A configured to B)」との表現が用いられる場合は、要素Aの物理的構造が、動作Bを実行可能な構成を有するとともに、要素Aの恒常的(permanent)又は一時的(temporary)な設定(setting/configuration)が、動作Bを実際に実行するように設定(configured/set)されていることを含んでよい。例えば、要素Aが汎用プロセッサである場合、当該プロセッサが動作Bを実行可能なハードウェア構成を有するとともに、恒常的(permanent)又は一時的(temporary)なプログラム(命令)の設定により、動作Bを実際に実行するように設定(configured)されていればよい。また、要素Aが専用プロセッサ又は専用演算回路等である場合、制御用命令及びデータが実際に付属しているか否かとは無関係に、当該プロセッサの回路的構造が動作Bを実際に実行するように構築(implemented)されていればよい。
 本明細書(請求項を含む)において、含有又は所有を意味する用語(例えば、「含む(comprising/including)」及び有する「(having)等)」が用いられる場合は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、open-endedな用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。
 本明細書(請求項を含む)において、ある箇所において「1つ又は複数(one or more)」又は「少なくとも1つ(at least one)」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)は、必ずしも特定の数に限定されないものとして解釈されるべきである。
 本明細書において、ある実施例の有する特定の構成について特定の効果(advantage/result)が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施例についても当該効果が得られると理解されるべきである。但し当該効果の有無は、一般に種々の要因、条件、及び/又は状態等に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件、及び/又は状態等が満たされたときに実施例に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。
 本明細書(請求項を含む)において、「最大化(maximize)」等の用語が用いられる場合は、グローバルな最大値を求めること、グローバルな最大値の近似値を求めること、ローカルな最大値を求めること、及びローカルな最大値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最大値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最小化(minimize)」等の用語が用いられる場合は、グローバルな最小値を求めること、グローバルな最小値の近似値を求めること、ローカルな最小値を求めること、及びローカルな最小値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最小値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最適化(optimize)」等の用語が用いられる場合は、グローバルな最適値を求めること、グローバルな最適値の近似値を求めること、ローカルな最適値を求めること、及びローカルな最適値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最適値の近似値を確率的又はヒューリスティックに求めることを含む。
 本明細書(請求項を含む)において、複数のハードウェアが所定の処理を行う場合、各ハードウェアが協働して所定の処理を行ってもよいし、一部のハードウェアが所定の処理の全てを行ってもよい。また、一部のハードウェアが所定の処理の一部を行い、別のハードウェアが所定の処理の残りを行ってもよい。本明細書(請求項を含む)において、「1又は複数のハードウェアが第1の処理を行い、前記1又は複数のハードウェアが第2の処理を行う」等の表現が用いられている場合、第1の処理を行うハードウェアと第2の処理を行うハードウェアは同じものであってもよいし、異なるものであってもよい。つまり、第1の処理を行うハードウェア及び第2の処理を行うハードウェアが、前記1又は複数のハードウェアに含まれていればよい。なお、ハードウェアは、電子回路、又は、電子回路を含む装置等を含んでもよい。
 以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更、置き換え及び部分的削除等が可能である。例えば、前述した全ての実施形態において、数値又は数式を説明に用いている場合は、一例として示したものであり、これらに限られるものではない。また、実施形態における各動作の順序は、一例として示したものであり、これらに限られるものではない。
1:推定装置、
10:入力部、
12:記憶部、
14:推定部、
140:順伝播部、142:誤差算出部、144:逆伝播部、146:更新部、
16:出力部

Claims (19)

  1.  1又は複数のメモリと、
     1又は複数のプロセッサと、
     を備え、
     前記1又は複数のプロセッサは、
      少なくとも第1状態に関する情報を含む入力データを微分可能な物理モデルに入力して推定第2状態を算出し、
      第2状態と前記推定第2状態とに基づいて、前記第1状態から前記第2状態に遷移するパラメータを推定する、
     ように構成される、
     推定装置。
  2.  前記入力データは、パラメータに関する情報を含む、
     請求項1に記載の推定装置。
  3.  前記1又は複数のプロセッサは、
      前記第2状態と前記推定第2状態の誤差を用いて、前記物理モデルについて誤差逆伝播して、前記第1状態から前記第2状態に遷移するパラメータを推定する、
     ように構成される、
     請求項2に記載の推定装置。
  4.  前記1又は複数のプロセッサは、
      誤差逆伝播を実行して、前記パラメータを前記物理モデルに基づく勾配を用いて更新し、前記第1状態から前記第2状態に遷移するパラメータを推定する、
     ように構成される、
     請求項3に記載の推定装置。
  5.  前記1又は複数のプロセッサは、
      演算の途中経過を前記1又は複数のメモリに格納し、
      格納された前記途中経過を用いて、誤差逆伝播を実行する、
     ように構成される、
     請求項4に記載の推定装置。
  6.  前記1又は複数のプロセッサは、
      前記第1状態と、前記第2状態と、を用いて誤差逆伝播を実行する、
     ように構成される、
     請求項4に記載の推定装置。
  7.  前記物理モデルは、Neural ODE(Ordinary Differential Equations)の手法に基づいて生成されたモデルである、
     請求項6に記載の推定装置。
  8.  前記1又は複数のプロセッサは、
      前記第1状態の遷移状態のデータを前記1又は複数のメモリに格納し、
      前記遷移状態を用いて、誤差逆伝播を実行する、
     ように構成される、
     請求項4に記載の推定装置。
  9.  前記1又は複数のプロセッサは、
      前記第1状態から前記第2状態に至る前記遷移状態のデータを前記1又は複数のメモリに格納する、
     ように構成される、
     請求項8に記載の推定装置。
  10.  前記1又は複数のプロセッサは、
      前記第1状態から前記第2状態に至る前記遷移状態のデータのうち、所定ステップにおけるデータを前記1又は複数のメモリに格納する、
     ように構成される、
     請求項8に記載の推定装置。
  11.  前記物理モデルは、微分方程式により表された物理系の解を求める微分方程式ソルバである、
     請求項1から請求項10のいずれかに記載の推定装置。
  12.  前記第1状態、前記第2状態、前記推定第2状態は、それぞれ制御対象装置の状態であって、
     前記パラメータは、少なくとも、前記制御対象装置の制御、又は、前記制御対象装置の環境のいずれかに関する情報である、
     請求項1から請求項11のいずれかに記載の推定装置。
  13.  前記制御対象装置の状態は、前記制御対象装置の内部に存在する物質に関する情報である、
     請求項12に記載の推定装置。
  14.  前記物質に関する情報は、前記物質の量、又は、前記物質の内部エネルギーに関する情報である、
     請求項13に記載の推定装置。
  15.  前記パラメータは、少なくとも、前記制御対象装置における温度、湿度、圧力、電圧、電流、又は、物質の濃度のいずれか1つに関する情報である、
     請求項12に記載の推定装置。
  16.  前記パラメータは、少なくとも、前記制御対象装置の体積、容積、又は、形状のいずれか1つに関する情報である、
     請求項12に記載の推定装置。
  17.  前記制御対象装置は、プラントである、
     請求項12から請求項16のいずれかに記載の推定装置。
  18.  1又は複数のプロセッサにより、
      少なくとも第1状態に関する情報を含む入力データを微分可能な物理モデルに入力して推定第2状態を算出し、
      第2状態と前記推定第2状態とに基づいて、前記第1状態から前記第2状態に遷移するパラメータを推定する、
     推定方法。
  19.  1又は複数のプロセッサに、
      少なくとも第1状態に関する情報を含む入力データを微分可能な物理モデルに入力して推定第2状態を算出することと、
      第2状態と前記推定第2状態とに基づいて、前記第1状態から前記第2状態に遷移するパラメータを推定することと、
     を実行させるプログラム。
PCT/JP2021/032874 2020-09-07 2021-09-07 推定装置、推定方法及びプログラム WO2022050426A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022547010A JPWO2022050426A1 (ja) 2020-09-07 2021-09-07
US18/178,721 US20230206094A1 (en) 2020-09-07 2023-03-06 Inferring device, inferring method and non-transitory computer readable medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-150074 2020-09-07
JP2020150074 2020-09-07

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/178,721 Continuation US20230206094A1 (en) 2020-09-07 2023-03-06 Inferring device, inferring method and non-transitory computer readable medium

Publications (1)

Publication Number Publication Date
WO2022050426A1 true WO2022050426A1 (ja) 2022-03-10

Family

ID=80492036

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/032874 WO2022050426A1 (ja) 2020-09-07 2021-09-07 推定装置、推定方法及びプログラム

Country Status (3)

Country Link
US (1) US20230206094A1 (ja)
JP (1) JPWO2022050426A1 (ja)
WO (1) WO2022050426A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105203A (ja) * 1996-10-01 1998-04-24 Hitachi Ltd フィードフォワード制御システム
JP2004162582A (ja) * 2002-11-12 2004-06-10 Toyota Motor Corp エンジン制御システムおよびエンジン制御方法
JP2005056190A (ja) * 2003-08-05 2005-03-03 Kobe Steel Ltd 制御方法及び制御装置、並びにプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105203A (ja) * 1996-10-01 1998-04-24 Hitachi Ltd フィードフォワード制御システム
JP2004162582A (ja) * 2002-11-12 2004-06-10 Toyota Motor Corp エンジン制御システムおよびエンジン制御方法
JP2005056190A (ja) * 2003-08-05 2005-03-03 Kobe Steel Ltd 制御方法及び制御装置、並びにプログラム

Also Published As

Publication number Publication date
US20230206094A1 (en) 2023-06-29
JPWO2022050426A1 (ja) 2022-03-10

Similar Documents

Publication Publication Date Title
US20220326664A1 (en) Improved machine learning for technical systems
US10839293B2 (en) Noisy neural network layers with noise parameters
JP7090734B2 (ja) 制御システム、制御方法及び記憶媒体
JP6718500B2 (ja) 生産システムにおける出力効率の最適化
CN112513886A (zh) 信息处理方法、信息处理装置和信息处理程序
US8533653B2 (en) Support apparatus and method for simplifying design parameters during a simulation process
JP2020064535A (ja) 最適化装置及び最適化装置の制御方法
CN112016678A (zh) 用于增强学习的策略生成网络的训练方法、装置和电子设备
JP2021149988A (ja) 情報処理装置及び情報処理方法
CN114648103A (zh) 用于处理深度学习网络的自动多目标硬件优化
WO2022050426A1 (ja) 推定装置、推定方法及びプログラム
CN116933676A (zh) 流动数值模拟方法、装置、设备及介质
TWI769875B (zh) 深度學習網路裝置、其使用的記憶體存取方法與非揮發性儲存媒介
CN117011118A (zh) 模型参数更新方法、装置、计算机设备以及存储介质
JP2023003177A (ja) 推論プログラム、推論方法および情報処理装置
JP2014013555A (ja) ニューラルネットワーク設計方法、フィッティング方法、及びプログラム
CN114580625A (zh) 用于训练神经网络的方法、设备和计算机可读存储介质
CN114580624A (zh) 用于训练神经网络的方法、设备和计算机可读存储介质
CN114707358B (zh) 离子阱量子门保真度优化方法及装置、电子设备和介质
CN112016611A (zh) 生成器网络和策略生成网络的训练方法、装置和电子设备
JP2020179438A (ja) 計算機システム及び機械学習方法
JP2020190901A (ja) 演算処理装置、演算処理装置の制御プログラム及び演算処理装置の制御方法
Qian et al. Frequency-domain physical constrained neural network for nonlinear system dynamic prediction
WO2022260171A1 (ja) 推定装置及びモデル生成方法
WO2023175722A1 (ja) 学習プログラム及び学習器

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21864477

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022547010

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21864477

Country of ref document: EP

Kind code of ref document: A1