Evaluation and / or adaptation of industrial and / or technical process models

By combining a non-causal declarative modeling language with neural networks, this approach addresses the issues of low modularity and inefficiency in existing modeling systems, achieving efficient modeling and control, and improving data processing capabilities and automated updates of model parameters.

CN113748434BActive Publication Date: 2026-01-02CALEJO INDUSTRIAL INTELLIGENCE AB
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202080028562.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-04-18
Filing Date
2020-04-03
Publication Date
2026-01-02
Estimated Expiration
2040-04-03

AI Technical Summary

Technical Problem

Existing industrial and technological process modeling methods suffer from low modularity, difficulty in interpretation, poor reusability, and inefficiency when integrating general-purpose function approximators, making them unable to effectively handle the complex data volumes faced by current computing systems.

Method used

By employing a non-causal declarative modeling language combined with neural networks, and through inverse pattern automatic differentiation and gradient descent optimization, efficient modeling and control of industrial and technological processes are achieved. Neural networks are used as a general function approximator to generate error gradients and update model parameters.

Benefits of technology

It improves the computational efficiency and accuracy of the modeling system, enables efficient utilization of sensor data and automated collection and reuse of model parameters, and provides more efficient control strategies and optimizations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113748434B_ABST
    Figure CN113748434B_ABST
Patent Text Reader

Abstract

A method for evaluating and / or adapting one or more technical models related to an industrial and / or technical process, as well as a corresponding system and computer program are provided. The method comprises obtaining (S1) a fully or partially non-causal modular parametric model of the industrial and / or technical process, the parametric model comprising at least one physical sub-model and at least one neural network sub-model, including obtaining one or more parameters of the parametric model. The method further comprises generating (S2) a system of differential equations based on the parametric model, and simulating (S3) dynamics of one or more states of the industrial and / or technical process over time based on the system of differential equations. The method also comprises applying (S4) reverse mode automatic differentiation to the system of differential equations while simulating the industrial and / or technical process to generate an estimate representing an evaluation of the industrial and / or technical process model.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present invention relates generally to industrial and / or technical processes and process control, and more specifically to the technical field of industrial / technical modeling and / or model / control parameter optimization. BACKGROUND

[0002] Industrial and / or technical process control generally involves collecting technical data from sensors coupled to an industrial and / or technical system, refining this technical data into some technical knowledge (modeling) and using this knowledge to produce control signals that create an efficient operation of the industrial and / or technical process.

[0003] For these purposes, most industries employ some type of modeling software to help them create knowledge models that can interact with their data. These models are generally coded in industry-specific object-oriented modeling languages. In some cases, the models are based on physically derived equations, in other cases, the models are based on statistical methods such as regression analysis, and in yet other cases, the models are based on so-called genetic optimization algorithms that can be used to solve constrained and unconstrained optimization problems based on natural selection processes that mimic biological evolution.

[0004] To increase the reuse of knowledge in such models, one often employs non-causal declarative modeling languages such as Modelica or Modia, where simulation details and processing order are explicitly separated from the physical model. Due to the increased complexity of such modeling systems, these non-causal declarative modeling languages are often implemented as a general framework or software that can then be adapted to various industries through solver settings and / or model libraries. These new modeling languages are able to extend the modeling effort by more efficiently reusing human effort in the modeling process.

[0005] At the same time, there is a need to model systems using artificial intelligence (AI) methods such as neural networks and other similar universal function approximators to reduce the need for expensive manual modeling time and / or for modeling systems whose behavior is unknown. These systems are generally black boxes defined causally with special software that can exploit computationally efficient algorithms such as backpropagation. The drawback of this black box approach is that it has little potential for reuse due to lack of modularity, difficulty of interpretation, and forced causality of all steps. Additionally, when the standard independent gradient descent method of training individual universal function approximators is integrated into other systems that are simultaneously optimized, the method becomes inefficient as modifications to other parts can move the optimal solution for each component.

[0006] The industrial trend of digitizing operations and the possibility of creating more complex models using improved modeling languages means that modeling systems are facing new amounts of data that current computing systems and methods cannot solve. SUMMARY

[0007] It is a general object to provide an efficient evaluation and / or adaptation of technical model(s) of industrial and / or technical processes, and / or improved control of industrial and / or technical processes.

[0008] In particular, it can be desirable to provide more accurate and efficient computer-aided methods to be applied to industrial process models, and to use these methods to create improved control of industrial processes.

[0009] It is a specific object to provide computationally more efficient sensor-based error gradient calculations on non-causal statement-based models containing a general function approximator.

[0010] It is another object to provide efficient automated collection, reuse, and manipulation of knowledge implicitly encoded in a general function approximator for analysis and / or control of industrial processes.

[0011] It is another object to adapt and / or optimize modeling systems that allow efficient interaction between human understanding of a process and a general function approximator model.

[0012] It is yet another object to provide computationally efficient use of sensor data through human-interpretable semi-supervised reinforcement learning to provide an optimal parameterized control system and / or policy.

[0013] It is yet another object to provide data-efficient and computationally efficient reinforcement learning-based control optimization of industrial and / or technical processes through the use of semi-supervised learning.

[0014] It is yet another object to provide efficient control of industrial and / or technical processes.

[0015] These and other objects are met by the embodiments defined herein.

[0016] To some extent, it can be desirable to provide a system that interprets non-causal statement-based models with a general function approximator, and to provide one or two stages of data in order to create gradients, accurate model parameters, parameterized control, optimized industrial processes, and / or industrial process models in a computationally efficient manner.

[0017] It can also be desirable to provide a method that uses the provided parameterized model to create gradients, accurate model parameters, parameterized control, control signals, and / or optimized industrial processes in a non-causal statement-based modeling language.

[0018] According to a first aspect, there is provided a system, comprising:

[0019] - one or more processors;

[0020] - a memory configured to store: a fully or partially acyclic modular parametric model of an industrial and / or technical process, the model comprising at least one physical submodel and at least one neural network submodel serving as a universal function approximator, for modeling the industrial and / or technical process at least partially, including one or more model parameters of the fully or partially acyclic modular parametric model;

[0021] - a simulator configured to simulate, by one or more processors, the industrial and / or technical process based on the fully or partially acyclic modular parametric (process) model and a corresponding system of differential equations; and

[0022] - an evaluator configured to apply, by the one or more processors, reverse mode automatic differentiation on the system of differential equations when simulating the industrial and / or technical process, to generate an evaluation estimate representing an evaluation of the industrial and / or technical process model; and

[0023] - an adaptation module configured to receive, by the one or more processors (110), the evaluation estimate to update at least one model parameter of the fully or partially acyclic modular parametric model of the industrial and / or technical process based on a gradient descent or ascent procedure.

[0024] For example, the evaluator can be configured to generate the evaluation estimate based at least partially on technical sensor data, such as one or more time series parameters derived from one or more data collection systems monitoring the industrial and / or technical process.

[0025] By way of example, the system can further comprise the following as part of the simulator:

[0026] - a compiler configured to receive, by the one or more processors, the parametric process model and create the system of differential equations; and

[0027] - one or more differential equation solvers configured to receive, by the one or more processors, the system of differential equations and simulate the industrial and / or technical process over time.

[0028] In this example, the memory can also be configured to store: a fully or partially acyclic modular parameterized control model for modeling a control process performed by a control system controlling at least a portion of the industrial and / or technical process, including one or more parameters of the parameterized control model. The fully or partially acyclic modular parameterized control model can then be defined to interact with at least a portion of a fully or partially acyclic modular parameterized model of the industrial and / or technical process as optimized by updated model parameters. The control process is at least partially modeled by one or more neural networks used as universal function approximators. The system can further include:

[0029] - a control simulator configured to simulate, by one or more processors, the control process based on the fully or partially acyclic modular parameterized control model and corresponding system of differential equations; and

[0030] - a control objective module configured to evaluate, by the one or more processors, a control objective for a control system controlling the industrial and / or technical process, the control objective defined as a control objective function of a state of the control model;

[0031] - a control reverse mode automatic differentiation estimator configured to estimate, by the one or more processors, gradients of the control objective on the control simulation with respect to one or more control parameters using reverse mode automatic differentiation with respect to a system of differential equations simulating the control process; and - a control optimizer configured to receive, by the one or more processors, the gradients from the control reverse mode automatic differentiation estimator and the one or more control parameters, and update the control parameters based on gradient descent or ascent and store the improved control parameters to the memory.

[0032] According to a second aspect, a system configured to evaluate and / or adapt one or more technical models related to an industrial and / or technical process is provided. The system is configured to obtain a fully or partially acyclic modular parametrized (process) model of the industrial and / or technical process, including one or more model parameters of the fully or partially acyclic modular parametrized model, wherein the fully or partially acyclic modular parametrized process model is defined such that the industrial and / or technical process is at least partially modeled by one or more neural networks used as universal function approximators. The system is further configured to simulate the industrial and / or technical process based on the fully or partially acyclic modular parametrized (process) model and a corresponding system of differential equations. Further, the system is configured to apply reverse mode automatic differentiation to the system of differential equations and generate an estimate representing an evaluation of the process model of the industrial and / or technical process. The system is further configured to update at least one model parameter of the fully or partially acyclic modular parametrized model of the industrial and / or technical process based on the generated evaluation estimate and based on a gradient descent or ascent procedure, and store the new parameters to a memory.

[0033] By way of example, the system can be configured to obtain technical sensor data representing one or more states of the industrial and / or technical process at one or more time instances, and the system can be configured to generate the evaluation estimate based at least in part on the technical sensor data. Further, the system can be configured to simulate dynamics of the state(s) of the industrial and / or technical process over time, and the system can be configured to generate an estimate of a gradient with respect to at least one loss function representing an error between i) a simulated industrial and / or technical process based on the model and ii) a real-world representation of the industrial and / or technical process based at least in part on the technical sensor data, in relation to one or more simulated states.

[0034] For these cases, when the model parameters have been updated, the system can also be configured to obtain a fully or partially non-causal modular parametric control model of a control process performed by a control system controlling at least a part of the industrial and / or technical process, including one or more parameters of the fully or partially non-causal modular parametric control model. The fully or partially non-causal modular parametric control model can then be defined to interact with at least a part of a parametric model of the industrial and / or technical process as optimized by the updated model parameters. The control process is at least partially modeled by one or more neural networks used as universal function approximators. The system is thus configured to simulate the control process performed by the control system based on the fully or partially non-causal modular parametric control model and a corresponding system of differential equations, apply reverse mode automatic differentiation to the system of differential equations to generate a control model evaluation estimate, and update at least one parameter of the fully or partially non-causal modular parametric control model based on the control model evaluation estimate.

[0035] By way of example, the system can be configured to pass at least a part of the parameters of the control model to the control system to be used as a basis for controlling the industrial and / or technical process.

[0036] According to a third aspect, there is provided a control system for a technical and / or industrial system, wherein the control system comprises and / or interacts with a system according to the second aspect or sub-aspects thereof.

[0037] According to a fourth aspect, there is provided an industrial and / or technical system comprising a system according to the second aspect or sub-aspects thereof and / or a control system according to the third aspect.

[0038] According to a fifth aspect, there is provided a method performed by one or more processors for evaluating and / or adapting one or more technical models related to an industrial and / or technical process. Essentially, the method comprises:

[0039] obtaining a fully or partially non-causal modular parametric model of an industrial and / or technical process, including obtaining one or more parameters of the fully or partially non-causal modular parametric model, the model comprising at least one physical sub-model and at least one neural network sub-model used as a universal function approximator for at least partially modeling the industrial and / or technical process;

[0040] generating a system of differential equations based on the fully or partially non-causal modular parametric model;

[0041] simulating dynamics of one or more states of the industrial and / or technical process over time based on the system of differential equations; and

[0042] - applying reverse mode automatic differentiation to the system of differential equations when simulating the industrial and / or technical process to generate an estimate representing an evaluation of the industrial and / or technical process model; and

[0043] - updating at least one model parameter of the fully or partially acyclic modular parameterized model of the industrial and / or technical process based on the evaluation estimate using a gradient descent or ascent procedure.

[0044] Preferably, the estimate can be generated based at least in part on technical sensor data originating from the industrial and / or technical process.

[0045] By way of example, the step of applying reverse mode automatic differentiation to generate an estimate comprises the step of using reverse mode automatic differentiation to generate a simulation state based gradient estimate of a loss function.

[0046] Optionally, the method can further comprise:

[0047] - receiving: based on at least a portion of the industrial and / or technical process model optimized by the updated model parameter(s) and a fully or partially acyclic modular parameterized control model of a parameterized control system for the industrial and / or technical process; a control objective function of a state of the control model encoding a control objective for the industrial and / or technical process; and parameters of the control model;

[0048] - generating a state of the control model using one or more differential equation solvers;

[0049] - generating a gradient estimate of the control objective function with respect to the parameters of the control model using reverse mode automatic differentiation;

[0050] - updating one or more of the (control model) parameters of the control model using gradient descent or ascent on the gradient estimate.

[0051] By way of example, the updated parameters of the control model, also referred to as control model parameters, can then be stored in a memory or the parameterized control system can be configured according to the updated parameters of the control model.

[0052] For example, the updated control model parameters can thereby be applied to control the industrial and / or technical process.

[0053] According to a sixth aspect, there is provided a computer program comprising instructions which, when executed by at least one processor, cause the at least one processor to:

[0054] obtaining a fully or partially non-causal modular parametric process model of an industrial and / or technical process, and the fully or partially non-causal modular parametric (process) model is defined such that the industrial and / or technical process is at least partially modeled by one or more neural networks used as a general function approximator(s);

[0055] simulating the industrial and / or technical process based on the fully or partially non-causal modular parametric process model and a corresponding system of differential equations;

[0056] applying reverse mode automatic differentiation to the system of differential equations to generate an estimate representing an evaluation of the industrial and / or technical process model; and

[0057] updating at least one parameter of the parametric process model of the industrial and / or technical process based on the generated evaluation estimate using a gradient descent or ascent procedure.

[0058] According to a seventh aspect, there is provided a computer program comprising instructions which, when executed by at least one processor, cause the at least one processor to perform the following operations:

[0059] obtaining a fully or partially non-causal modular parametric control model of a control process executed by a control system controlling at least a part of an industrial and / or technical process, including obtaining one or more parameters of the fully or partially non-causal modular parametric control model, wherein the control model is at least partially modeled by one or more neural networks used as a general function approximator(s);

[0060] simulating the control process executed by the control system based on the fully or partially non-causal modular parametric control model and a corresponding system of differential equations;

[0061] applying reverse mode automatic differentiation to the system of differential equations to generate a control model evaluation estimate; and

[0062] updating at least one parameter of the parametric control model based on the control model evaluation estimate using a gradient descent or ascent procedure.

[0063] According to an eighth aspect, there is provided a computer program product comprising a non-transitory computer readable medium having stored thereon a computer program according to the sixth or seventh aspect.

[0064] In this way, an efficient evaluation and / or adaptation of the technical model(s) of the industrial and / or technical process can be provided.

[0065] By proper evaluation of the process models, these models can be adapted, and when combined with the related control models, also the parametric control system can be evaluated and optimized.

[0066] More efficient computation procedures applied to industrial and / or technical process models can also be provided and used to create improved control of industrial and / or technical processes.

[0067] Highly efficient automatic modeling of components of industrial and / or technical processes in the overall physical model can also be provided through standard initialization and later adaptation of the universal function approximator. This optimization of the joint model becomes more efficient through unified adaptation that avoids interference between separate adaptation processes of individual adaptations.

[0068] Additionally, more efficient semi-supervised reinforcement learning can be performed and high data efficiency is achieved through data reuse according to model flexibility, reduced need for data labeling through unsupervised process learning, and higher computational efficiency than exploratory reinforcement learning methods through reuse of model logic with automatic differentiation.

[0069] The present invention is generally applicable to any kind of industrial and technical processes, examples of which will be described in the detailed description.

[0070] Other advantages provided by the present invention will be understood on reading the following description of embodiments thereof, which description refers to the accompanying drawings. BRIEF DESCRIPTION OF DRAWINGS

[0071] The present invention, together with further objects and advantages thereof, can best be understood by reference to the following description taken in conjunction with the accompanying drawings in which:

[0072] Figure 1 is a schematic diagram illustrating examples of industrial and / or technical systems and corresponding models according to illustrative embodiments.

[0073] Figure 2 is a schematic system overview of an example of a system for model evaluation related to industrial and / or technical processes according to an embodiment.

[0074] Figure 3 is a schematic system overview of an example of a system for model evaluation and / or adaptation related to industrial and / or technical processes according to an embodiment.

[0075] Figure 4 is a schematic system overview of another example of a system for model evaluation and / or adaptation related to industrial and / or technical processes according to an embodiment and a corresponding control system, here exemplified with an integrated implementation of industrial and / or technical process models and corresponding control models.

[0076] Figure 5is a schematic system overview of yet another example of a system for model evaluation and / or adaptation related to an industrial and / or technical process and a corresponding control system according to embodiments, here exemplified with a parallelized implementation of an industrial and / or technical process model and a corresponding control model.

[0077] Figure 6 is a schematic system overview of a specific example of a system for model evaluation related to an industrial and / or technical process according to embodiments.

[0078] Figure 7 is a schematic system overview of a specific example of a system for model evaluation and / or adaptation related to an industrial and / or technical process according to embodiments.

[0079] Figure 8 is a schematic flow chart illustrating an example of a method for evaluating and / or adapting one or more technical models related to an industrial and / or technical process according to embodiments.

[0080] Figure 9 is a schematic diagram illustrating another specific example of a processor-memory implemented system for model evaluation and / or adaptation related to an industrial and / or technical process.

[0081] Figure 10 is a schematic diagram illustrating another specific example of a processor-memory implemented system for model evaluation and / or adaptation related to a control model / system of an industrial and / or technical process.

[0082] Figure 11 is a schematic diagram illustrating an example of a computer implementation according to embodiments. DETAILED DESCRIPTION

[0083] In all figures, like reference numerals have been used for like or corresponding elements.

[0084] For a better understanding of the technology presented, a brief system overview and introduction to some example embodiments is presented, followed by a more detailed description of specific example implementations and explanations of some useful technical terms, which can be useful.

[0085] First, Figure 1 is a schematic diagram illustrating an example of an industrial and / or technical system and corresponding models according to illustrative embodiments. A physical real-world system such as an industrial and / or technical system 10 can be configured for performing an industrial and / or technical process using one or more physical subsystems. A corresponding parameterized model (including one or more model parameters) can be established and defined for modeling the industrial and / or technical process defined by the controlled or sometimes uncontrolled operation and behavior of the industrial and / or technical system.

[0086] In this particular recitation, the parameterized model of the industrial and / or technical process comprises at least one physical sub-model or subsystem and at least one artificial neural network (ANN) sub-model or subsystem. Preferably, the parameterized model is a fully or partially non-causal modular and parameterized model of the industrial and / or technical process, i.e. a non-causal modular and parameterized process model. The neural network sub-model can be used as a universal function approximator for at least partially modeling the industrial and / or technical process.

[0087] A fully or partially non-causal modular parameterized model is a term applicable to non-causal modeling of an industrial and / or technical process, which in turn can also or alternatively relate to modeling of a control process for controlling the industrial and / or technical process, bearing in mind that such a control process itself is a technical process.

[0088] When modeling an industrial and / or technical process, the model can sometimes be referred to as a process model. When modeling a control process for controlling an industrial and / or technical process, the model can sometimes be referred to as a control model. In some embodiments, both a process model and a control model can exist and interact.

[0089] When referring to a general industrial and / or technical process, the parameters of the model are often referred to as model parameters, and when referring to a control model for modeling a control process, the parameters of the model are often referred to as control parameters or sometimes as control model parameters.

[0090] As will be illustrated with reference to the schematic diagram of Figures 2 to 7 and the processor-memory based implementation of Figure 11 in an exemplary manner, it can be appreciated that some key features of the proposed technology relate to obtaining a parameterized model of an industrial and / or technical process as mentioned above; simulating the industrial and / or technical process based on the parameterized model and a corresponding system of differential equations; and applying reverse mode automatic differentiation to the system of differential equations; and generating an estimate representing an evaluation of a process model of the industrial and / or technical process.

[0091] The proposed technology can be implemented, for example, using compiler technology and a differential equation solver.

[0092] The method and program, and the corresponding system, can be extended to update the model parameters based on the evaluation estimate, and can also incorporate one or more control models for a corresponding parameterized control system, and adapt or optimize the control model(s) to generate updated control parameters, thereby improving control and / or operation of the overall industrial and / or technical process.

[0093] Figure 2is a schematic system overview of an example of a system for model evaluation related to an industrial and / or technical process according to embodiments. At the top, there is a representation of an industrial and / or technical system 10 for performing an industrial and / or technical process, at the bottom of which there is a corresponding system 20 for model evaluation. Figure 2

[0094] For example, the industrial and / or technical system 10 can be any system within an industry such as industrial manufacturing, processing and packaging, automotive and transportation, mining, pulp, infrastructure, energy and power, telecommunications, information technology, audio / video, life sciences, oil, natural gas, water treatment, health and / or aerospace industries, etc.

[0095] The industrial and / or technical system 10 comprises one or more physical subsystems such as production lines or parts thereof, industrial robots, valves, pumps, generators, power grids, vehicles, engines, power plant equipment, electronic components, computer-based systems, audio and / or video modules, base stations, routers, servers, cooling and / or heating equipment, etc.

[0096] Based on knowledge about the industrial and / or technical system and its functional and operational limits, a model of the corresponding industrial and / or technical process can be defined and / or obtained. In this case, the industrial and / or technical process is at least partially modeled by an artificial neural network (ANN) submodel or subsystem, as mentioned above with reference to Figure 1 Thus, the parameterized model of the industrial and / or technical process comprises at least one physical submodel and at least one neural network submodel, as will be explained in more detail later.

[0097] The industrial and / or technical process is then simulated by a simulator based on the generated parameterized model. For example, a compiler and / or interpreter can process information about the model to generate a system of differential equations, and then the simulation can be based on this system of differential equations as processed by one or more differential equation solvers.

[0098] Selected results of the simulation of the industrial and / or technical process can then be “compared” in a model evaluator based on reverse-mode automatic differentiation with corresponding technical sensor data originating from the industrial and / or technical system 10 to generate an estimate representing an evaluation of the industrial and / or technical process model.

[0099] Figure 3 is a schematic system overview of an example of a system for model evaluation and / or adaptation related to an industrial and / or technical process according to embodiments.

[0100] ​In this particular example, a system 20; 30 for model evaluation and / or adaptation is provided. In this context, the system further comprises a model adapter configured to receive evaluation estimates to update at least one model parameter of a parameterized model of an industrial and / or technical process.

[0101] For example, this can optionally be performed in an iterative process (see Figure 3 in dotted circles), where feedback goes from the model adapter back to the simulator until suitable conditions are met, at which time the model parameter(s) are finally updated.

[0102] By way of example, the model adapter can be implemented as a gradient-based optimizer, as will be exemplified later.

[0103] Figure 4 is a further example of a system for model evaluation and / or adaptation in relation to an industrial and / or technical process according to an embodiment and a schematic system overview of a corresponding control system, here exemplified with an integrated implementation of an industrial and / or technical process model and a corresponding control model.

[0104] Here, the industrial and / or technical system 10 is connected to a control system 15 configured for controlling at least a portion of the industrial and / or technical system 10.

[0105] In this example, the industrial and / or technical process model is combined or integrated with a control model corresponding to a parameterized version of the control system 15. The entire integrated model is then used as a basis for simulating the industrial and / or technical process, including operation of the control system 15 on the industrial and / or technical system 10, and the integrated model is evaluated and adapted in a similar manner as previously described. In this way, the integrated model can be evaluated and / or adapted, providing the possibility to update one or more parameters of both the parameterized process model and the parameterized control model, thereby allowing for improved control of the industrial and / or technical process.

[0106] Figure 5 is yet another example of a system for model evaluation and / or adaptation in relation to an industrial and / or technical process according to an embodiment and a schematic system overview of a corresponding control system, here exemplified with a parallelized implementation of an industrial and / or technical process model and a corresponding control model.

[0107] In this particular example, parallel branches are created to evaluate and / or adapt the control model. A first branch for model evaluation and / or adaptation is assigned to the process model, and a second parallel branch is assigned to the control model. Information about the updated process model can be passed to build and / or adapt the control model. By way of example, the control model evaluator can operate based on control objectives using a reverse mode automatic differentiation estimator, and the model adapter can be a control optimizer using a gradient-based procedure.

[0108] The updated control model can eventually influence the operation of the real-world control system 15, and thus the industrial and / or technical system 10 and the process performed by the industrial and / or technical system. In this way, improved process control is achieved.

[0109] Figure 6 is a schematic system overview of a particular example of a system for model evaluation in relation to an industrial and / or technical process according to an embodiment. This example corresponds to the more general example of Figure 2 but is here exemplified with a model interpreter such as a compiler for receiving a parameterized model and generating a corresponding system of differential equations, and one or more differential equation solvers for receiving the system of differential equations and simulating the industrial and / or technical process.

[0110] Figure 7 is a schematic system overview of a particular example of a system for model evaluation and / or adaptation in relation to an industrial and / or technical process according to an embodiment. This example corresponds to the more general example of Figure 3 but is here exemplified with a model interpreter such as a compiler for receiving a parameterized model and generating a corresponding system of differential equations, and one or more differential equation solvers for receiving the system of differential equations and simulating the industrial and / or technical process. Also, the model adapter is here exemplified by a gradient-based optimizer which can operate based on a gradient descent or ascent procedure.

[0111] According to a first aspect, the proposed technology provides a system 20; 30; 100, comprising:

[0112] - one or more processors 110;

[0113] - a memory 120 configured to store: a fully or partially acyclic modular parameterized model of an industrial and / or technical process, the model comprising at least one physical sub-model and at least one neural network sub-model serving as a universal function approximator, for modeling at least partially the industrial and / or technical process, including one or more model parameters of the fully or partially acyclic modular parameterized model;

[0114] - a simulator configured to simulate, by one or more processors 110, the industrial and / or technical process based on the fully or partially acyclic modular parameterized (process) model and the corresponding system of differential equations; and

[0115] - an evaluator configured to apply, by the one or more processors 110, reverse mode automatic differentiation to the system of differential equations in simulating the industrial and / or technical process to generate evaluation estimates representing an evaluation of the industrial and / or technical process model; and

[0116] - an adaptation module configured to receive, by one or more processors 110, evaluation estimates to update at least one model parameter of the fully or partially acyclic modular parameterized model of the industrial and / or technical process based on a gradient descent or ascent procedure.

[0117] Reference can be made, by way of example, to any one of Figure 11 but also to any one of Figures 2 to 10

[0118] For example, the memory 120 can be configured to store technical sensor data, such as one or more time series parameters originating from one or more data collection systems monitoring the industrial and / or technical process, and the evaluator can be configured to generate evaluation estimates based at least in part on the technical sensor data.

[0119] In a particular example, the system 20; 30; 100 further comprises, as part of the simulator:

[0120] - a compiler configured to receive, by the one or more processors 110, the parameterized process model and create the system of differential equations; and

[0121] - one or more differential equation solvers configured to receive, by the one or more processors 110, the system of differential equations and simulate the industrial and / or technical process over time.

[0122] By way of example, the differential equation solver(s) can be configured to simulate, by one or more processors 110, dynamics of the state(s) of the industrial and / or technical process over time, and the evaluator can be configured to generate, by one or more processors 110, estimates of gradients with respect to at least one loss function with respect to one or more states derived from the differential equation solver(s) for output to the model adaptation module.

[0123] In this way, the adaptation module (model adapter) is enabled to update at least one model parameter of the parameterized model of the industrial and / or technical process. ​

[0124] For example, the at least one loss function can represent a simulation error in modeling of the industrial and / or technical process.

[0125] More specifically, the at least one loss function may, for example, represent an error between i) a simulated industrial and / or technical process based on a model and ii) a real-world representation of the industrial and / or technical process based at least in part on technical sensor data from the one or more data collection systems.

[0126] As an example, the adaptation module can comprise an optimizer configured to receive one or more model parameters from the memory by the one or more processors 110; receive the evaluation estimate from the evaluator and update one or more model parameters based on a gradient descent or ascent procedure, and store the updated parameters to the memory.

[0127] For example, the optimizer can be configured to receive a gradient estimate from the evaluator by the one or more processors 110 and update one or more model parameters using gradient descent on a loss function encoding a simulation error in modeling of the industrial and / or technical process.

[0128] In such an example, the memory 120 can also be configured to store: a fully or partially acyclic modular parameterized control model for modeling a control process performed by a control system 15 controlling at least a portion of the industrial and / or technical process, including storing one or more parameters of the parameterized control model. The fully or partially acyclic modular parameterized control model can be defined to interact with at least a portion of a fully or partially acyclic modular parameterized process model of the industrial and / or technical process as optimized by the updated model parameters. The control process is at least partially modeled by one or more neural networks used as a universal function approximator(s). The system can further comprise:

[0129] a control simulator configured to simulate the control process based on the fully or partially acyclic modular parameterized control model and corresponding differential equations by the one or more processors 110; and

[0130] a control objective module configured to evaluate, by the one or more processors 110, a control objective for a control system controlling the industrial and / or technical process, the control objective being defined as a control objective function of a state of the control model;

[0131] - a control reverse mode automatic differentiation estimator configured to estimate, by the one or more processors 110, gradients of the control objective on a control simulation with respect to one or more control parameters using reverse mode automatic differentiation on a system of differential equations that simulates the control process; and

[0132] - a control optimizer configured to receive, by the one or more processors 110, the gradients from the control reverse mode automatic differentiation estimator and one or more control parameters and to update the control parameters based on gradient descent or ascent and to store the improved control parameters to the memory 120.

[0133] These modules and / or components can be integrated in a simulator, estimator and / or adapter of a process model or implemented in parallel thereto, e.g. as shown in Figure 4 and Figure 5 respectively.

[0134] By way of example, the system can further comprise a control system 15 that uses the control parameters to control the industrial and / or technical process.

[0135] For example, the overall system can further comprise an industrial and / or technical system 10 for performing the industrial and / or technical process as controlled by the control system 15.

[0136] According to a second aspect, a system 20; 30; 100 configured to estimate and / or adapt one or more technical models related to an industrial and / or technical process is provided. The system 20; 30; 100 is configured to obtain a fully or partially non-causal modular parametrized (process) model of the industrial and / or technical process, including one or more model parameters of the fully or partially non-causal modular parametrized model, wherein the fully or partially non-causal modular parametrized (process) model is defined such that the industrial and / or technical process is at least partially modeled by one or more neural networks used as universal function approximators. The system 20; 30; 100 is further configured to simulate the industrial and / or technical process based on the obtained parametrized process model and the corresponding system of differential equations. Further, the system 20; 30; 100 is configured to apply reverse mode automatic differentiation on the system of differential equations and to generate an estimate representing an evaluation of the process model of the industrial and / or technical process.

[0137] The system 20; 30; 100 is further configured to update at least one model parameter of the fully or partially non-causal modular parametrized model of the industrial and / or technical process based on the generated evaluation estimate and based on a gradient descent or ascent procedure and to store the new parameters to a memory.

[0138] By way of example, the system 20; 30; 100 can be configured to obtain, at one or more time instances, technical sensor data representing one or more states of the industrial and / or technical process, and the system 20; 30; 100 can be configured to generate, based at least in part on the technical sensor data, an evaluation estimate. Further, the system 20; 30; 100 can be configured to simulate dynamics of the state(s) of the industrial and / or technical process over time, and the system 20; 30; 100 can be configured to generate an estimate of a gradient with respect to at least one loss function relating to one or more simulated states, the at least one loss function representing an error between i) a model-based simulated industrial and / or technical process and ii) a real-world representation of the industrial and / or technical process based at least in part on the technical sensor data.

[0139] Optionally, the system 20; 30; 100 can be further configured to obtain a fully or partially acyclic modular parametric control model of a control process performed by a control system (15) controlling at least a portion of the industrial and / or technical process, including obtaining one or more parameters of the fully or partially acyclic modular parametric control model. The fully or partially acyclic modular parametric control model is defined to interact with at least a portion of a parametric model of the industrial and / or technical process as optimized by the updated model parameters. The control process is at least partially modeled by one or more neural networks used as a universal function approximator(s). The system 20; 30; 100 is thus configured to simulate the control process performed by the control system based on the fully or partially acyclic modular parametric control model and the corresponding system of differential equations. The system 20; 30; 100 can then be configured to apply reverse mode automatic differentiation to the system of differential equations to generate a control model evaluation estimate, and the system 20; 30; 100 can be further configured to update at least one parameter of the fully or partially acyclic modular parametric control model based on the control model evaluation estimate.

[0140] Preferably, the system 20; 30; 100 can be configured to pass at least a portion of the parameters of the control model to the control system 15 to be used as a basis for controlling the industrial and / or technical process.

[0141] In a particular example, the system 20; 30; 100 comprises processing circuitry such as one or more processors 110 and a memory 120, wherein the memory 120 comprises instructions which, when executed by the processing circuitry 110, cause the processing circuitry 110 to evaluate and / or adapt one or more technical models relating to the industrial and / or technical process.

[0142] According to a third aspect, there is provided a control system 15 for a technical and / or industrial system 10, wherein the control system 15 comprises a system 20; 30; 100 according to the above second aspect or sub-aspects thereof.

[0143] According to a fourth aspect, there is provided an industrial and / or technical system 10 comprising a system 20; 30; 100 according to the above second aspect or sub-aspects thereof and / or a control system 15 according to the third aspect.

[0144] Figure 8 is a schematic flow chart illustrating an example of a method performed by one or more processors for evaluating and / or adapting one or more technical models related to an industrial and / or technical process according to embodiments.

[0145] Basically, the method comprises:

[0146] S1 : obtaining a fully or partially non-causal modular parametric model of an industrial and / or technical process, the model comprising at least one physical sub-model and at least one neural network sub-model serving as a universal function approximator for at least partially modeling the industrial and / or technical process, including one or more parameters of the fully or partially non-causal modular parametric model;

[0147] S2: generating a system of differential equations based on the fully or partially non-causal modular parametric model;

[0148] S3: simulating dynamics of one or more states of the industrial and / or technical process over time based on the system of differential equations; and

[0149] S4: applying reverse mode automatic differentiation to the system of differential equations in simulating the industrial and / or technical process to generate an estimate representing an evaluation of the industrial and / or technical process model; and

[0150] S5: updating at least one model parameter of the fully or partially non-causal modular parametric model of the industrial and / or technical process based on the evaluation estimate using a gradient descent or ascent procedure.

[0151] Preferably, the estimate can be at least partially generated based on technical sensor data originating from the industrial and / or technical process.

[0152] By way of example, the step of applying reverse mode automatic differentiation to generate an estimate comprises the step of using reverse mode automatic differentiation to generate a gradient estimate based on simulated states of a loss function.

[0153] Optionally, the method can further comprise:

[0154] - receive: at least a part of the industrial and / or technical process model optimized based on the updated model parameter(s) and a fully or partially non-causal modular parameterized control model of the parameterized control system for the industrial and / or technical process; a control objective function of the state of the control model encoding a control objective for the industrial and / or technical process; and parameters of the control model;

[0155] - generate the state of the control model using one or more differential equation solvers;

[0156] - generate gradient estimates of the control objective function with respect to the parameters of the control model using reverse mode automatic differentiation;

[0157] - update one or more of the parameters of the control model using gradient descent or ascent on the gradient estimates.

[0158] By way of example, the updated parameters of the control model can then be stored in a memory or the parameterized control system can be configured according to the updated parameters of the control model.

[0159] For example, the updated control model parameters can thereby be applied to control the industrial and / or technical process.

[0160] For a better understanding, the proposed technology and some useful technical terms will now be described with reference to various non-limiting examples:

[0161] Stated causal models are models that describe an industrial process through various equations and do not specify in every case which variable is an input and which variable is an output. This means that at least some of the equations in the model can be inverted, for example the same pump efficiency model can be used to calculate the energy consumption from the water flow and the water flow from the energy consumption.

[0162] Certain variables of the model can also be initiated from sensor data or other data at the solver stage, for example using a measured power input of a pump to model the flow behavior of the pump given this input. Such data can also be introduced directly into the model at the compiler stage and then be considered part of the model. It is also possible to compile the models and introduce these models at the solver stage and / or compile the solver into a computer readable format and feed the parameters to the resulting program.

[0163] The modeling split between the models and the solvers for calculating the time dynamics and / or initial values allows components written in these model types to be reused to a greater extent than traditional object-oriented models at the cost of software and / or hardware complexity.

[0164] The model can have some component(s) that are based on physical modeling. By way of example, such a component can be a simple pressure equation to estimate temperature based on volume changes in space and connections to pipes defined elsewhere. In another example, the component can be a turbine acceleration by applying mechanical power. These equations are typically understandable by human experts, which provides rich possibilities for interpretation and analysis. Many phenomena lack a known simple description, which can make this model type unsuitable for such cases.

[0165] The model can have some component(s) that are designed as one or more neural networks, for example, to serve as general function approximator(s). These are implemented as one or more equations in non-causal modeling language and / or described in another algorithmic language and / or provided in computer-readable binary format and / or connected through an interface to external software. Neural network components are often considered uninterpretable "black box" models, which typically have a much larger number of parameters than corresponding physical models. These models are capable of modeling essentially any possible process given enough data.

[0166] Models written in declarative non-causal modeling language are typically compiled and / or interpreted in several steps. Notably, these typically include steps such as model simplification, conversion of data and equations to a format used by a differential equation solver, initialization of variables, and application of the solver to initial values to create time series.

[0167] One possible model component is a modular general function approximator, such as a neural network. This type of system is popular for its ability to mimic any well-behaved non-linear function and train through parameterized optimization to reach such a solution within reasonable time complexity. When presented with sensor data, there is typically a detected difference between the computed variable and the variable detected by the sensor, which can be attributed to a difference between the model and the actual process being modeled. In this case, a common practice in many industries is to improve these models using a simple regression model when input and output values can be measured, the parameters of which are selected using the input and output values in mathematical software such as Excel in order to create a regression analysis component in the model. Another common approach is to use genetic optimization or finite difference estimation methods to improve the model parameters. These methods are typically slow and do not scale well into larger models.

[0168] Control systems are often hand-coded, but there are exceptions. A common approach to optimize small-dimensional parameterized control strategies is to use genetic optimization or finite-difference methods, but these methods have poor computational characteristics when scaled to larger problems. Yet another common system is to limit modeling to simple approximating models, such as linear models, in order to be able to apply optimization algorithms, such as the simplex method, that are suitable for such simple systems. This is common in hydroelectric power optimization and other applications.

[0169] The inventors' careful analysis has revealed that the computational challenges that can be faced by large-scale modeling in the new generation of statement-based causal models combined with universal function approximators can be addressed by using techniques known as reverse-mode automatic differentiation that can be implemented in a specially designed differential equation solver during the overall interpretation / compilation process of the model. This automatic differentiation strengthens the interpretation / compilation system and / or method to allow scaling properties that are simultaneously feasible for millions of parameters. This can be used to compute the derivatives of the control objective function and / or the modeling error function and to optimize the model and / or the control parameters using gradient descent / ascent based methods.

[0170] According to a particular example, there is thus provided a system that is able to compute the derivative(s), the model parameter(s) and / or the control parameter(s) in a non-causal statement-based language using less computational resources than competing methods.

[0171] Neural networks are one of several well-known machine learning systems / methods that are popular due to the ease of parameterizing the way to increase model complexity and the ability to converge to any of a large class of common functions as this parameter is increased. Neural networks are also used herein to refer to related support vector machines that have been shown to be theoretically largely equivalent to neural networks.

[0172] Generally, neural networks (also commonly referred to as artificial neural networks) can be seen as a computing system loosely inspired by biological neural networks that make up the brain. Neural networks are not algorithms themselves, but rather a framework that enables many different machine learning algorithms to work together and process complex data inputs. In a sense, such systems “learn” to perform tasks by considering examples, often without being programmed with any task-specific rules. Neural networks can be based on a collection of connected units or nodes, called artificial neurons, that loosely model the neurons in a biological brain. Like the synapses in a biological brain, each connection can transmit a signal from one artificial neuron to another. An artificial neuron that receives a signal can process it and then send signals to additional artificial neurons connected to it. In a common implementation, signals at the connections between two artificial neurons can be represented with real numbers, and the output of each artificial neuron can be computed by some non-linear function of the sum of its inputs. The connections between artificial neurons are called “edges.” The weights of artificial neurons and edges are typically adjusted as learning progresses. The weights increase or decrease the strength of the signal at the connection. Artificial neurons can have a threshold, and will only send a signal if the aggregate signal exceeds the threshold. Generally, artificial neurons are aggregated into layers. Different layers can perform different kinds of transformations on their inputs. Signals travel from a first layer (the input layer) to a last layer (the output layer), possibly after multiple passes through the layers. Over time, many different types of more evolved neural networks have been developed, such as convolutional neural networks, recurrent neural networks, and hierarchical neural networks.

[0173] A declarative acausal model is typically a model written in some declarative acausal modeling language, but can also be stored in equivalent functionality written in any programming language and / or equivalent computer readable code. Examples of suitable modeling languages include Modelica and Modia notably. These declarative acausal models must be modular in order to be able to reuse components. Declarative acausal models define equations between variables rather than algorithms, and typically determine the direction of computation at: compile time; by the solver; and / or during execution. Typically, such languages also support subcomponents with specified direction, i.e. including algorithms rather than equations. This means causal and / or imperative submodels, such as imperative programs, can be included in larger acausal models. Such subcomponents can also be outside the solver in compiled computer readable form or in a different language with separate gradient estimation solution. In these cases, the required gradient communication to and / or from the subcomponents established through an interface to the solver can be established.

[0174] A particular algorithm can be selected depending on the causal relationship chosen by the solver, which allows modeling causal systems that can only be described by algorithms.

[0175] The interpreter and / or compiler of the declarative non-causal model typically is the system that receives or reads the model from storage. The interpreter and / or compiler converts the encoded equations and algorithms through a series of transformations into a format suitable for direct application to a differential equation solver. Depending on the context, the differential equation solver is often considered part of the entire modeling language compiler and / or interpreter. This is typically the case if the compiler sends the results to the differential equation solver to directly generate program code or simulation output without further manual intervention in between. For the sake of clarity, the compiler is used herein to refer to the process before the differential equation solver, while the entire compilation / interpretation process can also include the solver step.

[0176] The differential equation solver (also referred to as a solver or simulator) receives a series of equations and initial values in an adapted data format and outputs a time series describing the state of the modeled system. One example of such a solver is CVODE. Solving differential equations over time is perhaps the most common use, but the invention is not limited to this problem. Differential equation solvers can also be used to solve a series of equations without a time element and / or without time dependency, as well as non-differentiable groups and / or subgroups. One particular example are submodels that simulate the next time step of the current time step by integration over the rate of change without the need to explicitly calculate that time step. The differential equation solver relies on a properly balanced set of equations, which can be established after the compilation step if data from an external source is provided at that compilation step (if needed). This typically relies on the compiler knowing which variables will be defined before the solver, so that the compiler can establish the correct direction of calculation.

[0177] As used herein, expression automatic differentiation typically refers to a family of programs that are directly applied to program code in order to efficiently calculate derivatives without the need for manual calculation nor the need for automatic symbolic evaluation. Automatic differentiation systems typically input program code and output program code that also calculates some derivatives. More rigorously, automatic differentiation refers to a series of methods and systems that perform efficient calculation of derivatives and that in principle can be applied to any general-purpose program code in a large collection of general-purpose program code without too much modification. However, automatic differentiation also refers to certain systems and / or methods in which the code has been specifically adapted for the application of such automatic differentiation methods, such as for example in deep learning frameworks.

[0178] One type of automatic differentiation is reverse mode differentiation. Reverse mode differentiation is used herein to describe both pure reverse mode differentiation and hybrid mode differentiation types, where some subcomponents of the differentiation process are performed by other computer-implemented differentiation methods (e.g., forward differentiation and / or symbolic differentiation) and / or where the reverse mode automatic differentiation is included in a larger symbolic differentiation. In reverse mode, a graph, tape, or similar is used to describe the computations performed during regular execution and / or compilation, referred to as forward steps. This graph, tape, or similar is then used to perform the computations in approximately the opposite order in order to compute the derivative of one or more values with respect to one or more parameters. The graph, tape, or similar can be: dynamically developed during processing of the forward steps; explicitly pre-computed into a static graph, tape, or similar at compile time; and / or used during compilation to create program code for the reverse mode.

[0179] Reverse mode automatic differentiation techniques can be applied to a differential equation solver to which a compiler feeds the resulting differential equations. The output of the differential equation solver can then be differentiated with respect to any model parameters. The differential equation solver can need to be slightly modified to be differentiable, such as: softening decision boundaries; isolating stochastic variables by reparameterization tricks; and / or introducing noise into cross-discrete events, possibly controlled by a temperature or similar parameter that can be adjusted during training.

[0180] An error function or loss function generally describes how large an error is with respect to some data model. This is generally defined as a monotonic increasing function of the difference between simulated and measured values, at least in some neighborhood. These measured values can in turn be raw sensor inputs or sensor values that have been pre-processed using some function to make the values more relevant and / or more accurate. The measured values make the system of equations over-determined in some sense, such that there are computed values and measured values that can be compared.

[0181] A loss function can be constructed to describe the difference between one or more data from a sensor and one or more corresponding outputs of a differential equation solver. By using reverse mode automatic differentiation on the differential equation solver, the gradient of this loss function with respect to one or more parameters can be computed with computational efficiency and favorable scalability in the number of computational parameters used in the optimizer.

[0182] The loss function can be used as a separate entity that computes and outputs a signal corresponding to its gradient, or can be encoded in an appropriate modeling or other computer language format that can be processed by automatic differentiation. Alternatively, the loss function is a variable in the model itself, and in this case the loss function simply implicitly or explicitly identifies the state in the model corresponding to the loss function. There are many other trivial variations on these and similar themes that will be apparent to the skilled person.

[0183] An optimizer is generally a system that employs gradient estimates, computes gradient steps in the parameter space, and creates new improved parameters according to a gradient descent or ascent strategy. Optimizers generally have persistent variables between updates, such as a decaying step size and / or momentum. Many well-known such optimizers have convergence guarantees. After one or more steps of the optimizer, there will be an improved set of parameters that can optionally be stored to memory. For example, an optimizer can also collect gradient estimates from one or more sources before performing a single gradient update. Parallelizing stochastic simulations to estimate the gradient of a base distribution is one such example. Parameter updates can be made in the original acyclic model or in the corresponding variables of any intermediate model format in later stages of the compilation process. Parameter updates between optimizer iterations can be performed before the solver to minimize overhead from other compilation processes. In such operation of the optimizer, the optimizer directly feeds the parameter list to the solver, and static compilation can also be used in reverse mode automatic differentiation to further minimize computational overhead. However, this can not be appropriate in other cases, for example, where parameter values affect simulation processing steps (i.e., a list of processing steps that are performed, as opposed to values used in those steps) and / or simulation processing steps are partially stochastic.

[0184] Optimizing a control system using sensor data is a complex task and greatly benefits from reusing the knowledge and capabilities of human and artificial intelligence-based components to describe situations that differ from the actual system being measured. This can be achieved by optimizing the modules described according to the methods and / or systems described above using modular and partially physical simulations. These modules can then be removed and / or rearranged as needed, and new physical and / or artificial intelligence (AI) modules can be introduced into the model. The new modified model can then describe a new real or hypothetical physical system, and reuse the accumulated knowledge encoded therein through such modularity without the need to collect new sensor data specific to the new system. One or more parameters of the system that are expected to influence its function are designated as control parameters.

[0185] A control objective can be seen as a system that can employ time series or instantaneous values to describe the full or partial state of some industrial process and / or industrial process model, and automatically estimate the success of industrial process control. Success estimates are generally encoded in a scalar value, where higher values are desired. Such control objectives are generally designed to adhere to business, environmental, and physical objectives. Such control objectives or their outputs, as appropriate, are used as inputs to the system and / or method.

[0186] A control optimizer is generally a system that attempts to improve a parameterized control algorithm. The original optimization module from the optimizer and / or a new module reassembled by the above module can then be used to create a new control system. This problem is conventionally optimized using genetic optimization and / or reinforcement learning, both of which are computationally challenging in large-scale problems. The process described above can instead be applied to compile and solve the differential equations using reverse-mode automatic differentiation to produce gradient estimates in a computationally efficient manner. The automatic differentiation is now used to compute the gradient of the control objective with respect to the control parameters and direct it to the control optimizer.

[0187] When the control model is fed, the control optimizer receives the gradient estimates from the automatic differentiation applied to the differential equation solver. A suitable gradient-based optimization strategy using the gradient estimates is applied in one or more steps. In the common conceit that high values from the control objective represent desired operation of the industrial process, a gradient ascent scheme is applied. After optimization using the control optimizer, the control optimizer outputs the final parameters and stores them to memory. The design considerations for the control optimizer are similar to those required when designing the optimizer.

[0188] The optimized control parameters can optionally be used in a simulation to evaluate the control strategy and / or to evaluate the industrial and / or technical process using this optimized control strategy. The control parameters can then be implemented in a software and / or hardware implementation of the control and installed in the appropriate industrial and / or technical process. Alternatively, one or more signals produced by the optimized control strategy in a control simulation can be used to directly control a real industrial and / or technical process.

[0189] Figure 9 is a schematic diagram illustrating another specific example of a processor-memory implemented system for model evaluation and / or adaptation in connection with an industrial and / or technical process. This represents an example of a processor-memory based implementation, where the compiler, the differential equation solver, the reverse-mode automatic differentiator estimator, and the optimizer are executed by a processor 110, and where the model parameters are stored and updated in a memory 120.

[0190] In the following, one or more non-limiting examples of industrial and / or technical applications will be given, including examples of possible input data to the system and operation of the sub-modules.

[0191] In a particular example, a Modelica detailed model of a generator coupled to a turbine is provided as input to the compiler. The generator model is mainly based on physical equations, but includes a neural network model approximating the influence of temperature and humidity on some internal resistances. The electrical power output is considered as an unknown in the model over time, depending on an unknown mechanical power input, or vice versa. An operator measures the input power and the output power from sensor data. The operator uses the compiler to convert the model into Modia, and converts the model into a set of variables and differential equations in the known Julia programming language suitable for input to a Julia-based differential equation solver. This creates a so-called Julia function that is able to simulate the power output for a given power input (or vice versa, if so instructed to the compiler). The operator then applies automatic differentiation to the function to create a new function that also generates functions that can compute derivatives when solved. The new function is the differential equation solver and is compiled into efficient machine code. The operator then feeds the mechanical power input data to the differential equation solver to generate output data and compares the generated output with the power output collected from sensor data. The gradient estimates are fed to a reverse mode automatic differential equation estimator and generate gradient estimates for each parameter in the model. The gradient estimates are sent to an optimizer that reads the parameters and makes small updates to some parameters in the neural network submodel and some parameters in the general physics generator model based on gradient descent / ascent, with the goal to reduce the loss. This process is repeated until the loss is sufficiently reduced and the model input-output pairs correspond better to the data collected from the sensors.

[0192] Figure 10 is a schematic diagram illustrating another particular example of a processor-memory implemented system for model evaluation and / or adaptation related to a control model / system of an industrial and / or technical process. This represents an example of a processor-memory based implementation, wherein the compiler, the differential equation solver, the reverse mode automatic differentiator estimator and the optimizer are executed by a processor 110, and wherein the so-called value estimation parameters are stored and updated in a memory 120.

[0193] In the following, further non-limiting examples of industrial and / or technical applications will be given, including examples of optional input data to the system and operation of the submodules.

[0194] In a further example, a local water utility company designed a Modelica model of the city's sewage pumping and reservoir system and created a series of differential equations using a plug-in to a geographic information system as a mix of C++ code and pre-compiled executable binaries that interface with the C++ code through a Functional Model Interface (FMI). Some of the piping system in the pump model has been abstracted through the use of a trained neural network. The company defined a control objective that penalizes the model for keeping the water level in the reservoir at a very high level and penalizes it for a value proportional to the cost of electricity and included it as a variable in the Modelica model. The control objective variable was designed such that it adds all past costs and high water levels over the simulation time. The physical implementation of the neural network was simulated in software. The model was compiled into a solver implemented in Python that has links to the C++ code and binary formats and can be fed hourly electricity prices. The differential equation solver was automatically read by another compiler that generates a corresponding mix of Python, C++, and executable binary machine readable code formats that takes the state of the simulation and computes the gradient of the control objective in a so-called static reverse mode differential with respect to a two specified control parameters of interest that generates a partial reverse mode automatic differentiation estimator. If no electricity prices are provided, the solver assumes some constant price. The simulation state is fed to the pre-compiled partial reverse mode automatic differentiation estimator and generates gradients. The optimizer is fed these gradient estimates and uses a gradient descent / ascent strategy to adjust the control parameters. The control parameters are again fed to the differential equation solver that sends the state to the partial reverse mode automatic differentiation estimator in multiple iterations (the code remains static between iterations) until the control parameters approximate a local optimum with respect to the control objective. These control parameters are stored to disk and passed / sold to customers as the optimal settings for these control parameters in the physical system modeled by the model.

[0195] In another example, a series of hydroelectric plants and reservoirs can be modeled. In this example, the reservoir volume-height curve and turbine efficiency curve can be modeled by neural networks, while the emergency outlets and piping system can be physical in nature. The large amount of data can make neural networks a more preferred model, while emergencies are rare and can be better modeled using physical priors and assumptions than a small amount of data is available. When some additional data is available, the parameters of these physical systems can be optimized using the methods described herein, or these parameters can be replaced entirely by neural network models in the future. The entire model or any part of the model can then be trained using reverse-mode automatic differentiation and available data. Further in the example, once the model of the hydroelectric plants and reservoirs is established, a parameterized control system can be established that takes as inputs the reservoir water level and the electricity futures prices for the next few days, and outputs the recommended current production level for each plant to run the hydroelectric plants most efficiently while keeping the reservoirs within operating limits due to a penalty factor that depends on the degree to which these limits are violated. The model is preferably of a stochastic type in order to create Monte Carlo type simulations for risk management. This can be trained on historical or simulated inflow to the reservoirs from outside water, where the simulation can be a statistical distribution that has been developed from a separate data set. The control system is then trained to set power production optimally at each instant or over short time periods in order to produce the most efficient operation in time, taking into account non-immediate rewards when optimizing the strategy. The resulting control system can be simulated repeatedly in the model with different random seeds in order to show the human operator approximate confidence intervals. These instructions can also be sent directly to a supervisory control and data acquisition (SCADA) system in order to run the plant directly autonomously, which can be particularly valuable in smaller hydroelectric plants.

[0196] Alternatively in the above example, a more traditional non-stochastic simulation can be considered and the production level at each time instant is set as an independent parameter. A time series state of several days or weeks is then generated, and the production level can be optimized at each time step to maximize profit. Several such production plans can be initialized in a grid search, and each production plan is optimized to avoid suboptimal local minima.

[0197] In another example, a car manufacturer can want to optimize the dynamic fuel injection strategy of an engine. A physical model of the engine is developed with many unknown parameters. The air pressure-resistance dependency is hard to model with known physical principles and instead a neural network is inserted. A random fuel injection strategy is used to explore the engine parameters in a series of physical tests. The power output and exhaust of the engine can be physically measured, however in other ways the test engineers cannot enter the interior of the engine while running. The fuel injection input and power output pairs are used to train the entire model using backpropagation automatic differentiation to find the best physical parameters that can explain what was measured, including the neural network. Despite the lack of ability to measure input-output pairs of the neural network that can be used to train the neural network parameters separately, the automatic differentiation process used according to the invention infers how the entire engine model depends on these parameters and is able to optimize the neural network in the same way as the physical parameters. After the model is optimized against the sensor data, a series of simple parameterized logic gates that control the fuel injection are modeled and optimized using backpropagation automatic differentiation in order to minimize fuel usage and minimize certain exhaust gases given a certain power. The logic gate parameters are then used to create a corresponding physical controller for the car engine.

[0198] In yet another example, a telecom operator or communication service provider wants to optimize the operation of its packet switched communication network. The contractor develops a hybrid physical model based on a combination of discrete event models modeling individual packets and flow based models of average transmission rates. The model is implemented in Modelica and sent to the telecom operator. The telecom operator decides to use its database to optimize the model and adjust its operation on this basis. The company adds a neural network to model the communication probabilities and load as a function of time, weekday and season. The neural network model is refined using real transmission data collected from its operation and the model solver on backpropagation automatic differentiation in a suitable Modia Julia package to reduce the loss.

[0199] Further in this example, a telecommunications operator can wish to evaluate a new expansion of its network capacity. The company adds the corresponding connections in the model, defines a control objective that reduces the model loss, which is a linear combination of the average throughput rate and the minimum total packet loss rate and average latency. The company simulates this for a simulated time of one year and applies reverse mode automatic differentiation to the solver to find the derivatives of the control objective with respect to various parameters of the transmission control protocol (TCP) and uses an optimizer to perform TCP tuning. The overall performance of such a TCP-tuned network is then estimated in the resulting model. The company compares this modeled performance to the current performance to decide whether and / or how to expand the network capacity. If a decision to perform an expansion is taken, the parameters from the TCP tuning can be directly applied to the TCP parameters used in the network.

[0200] As can be seen, the proposed technology is generally applicable to any industrial and / or technical system operating in a physical environment with given operational limits and / or conditions.

[0201] For example, the proposed technology can be applied to improved adaptive modeling and / or control of at least a portion of an industrial and / or technical system of at least one of the following: industrial manufacturing, processing and packaging, automotive and transportation, mining, pulp, infrastructure, energy and power, telecommunications, information technology, audio / video, life sciences, oil, natural gas, water treatment, health, and aerospace industries.

[0202] It will be appreciated that the above-described methods and apparatuses can be combined and rearranged in various ways, and that these methods can be performed by one or more suitably programmed or configured digital signal processors and other known electronic circuitry, for example, discrete logic gates interconnected to perform a specialized function, or an application-specific integrated circuit.

[0203] Many aspects of the application are described in terms of sequences of actions to be performed by, for example, elements of a programmable computer system.

[0204] The above-described steps, functions, procedures and / or blocks can be implemented in hardware using any conventional technology, such as discrete circuit or integrated circuit technology, including both general-purpose electronic circuitry and specialized circuitry.

[0205] Alternatively, at least some of the above-described steps, functions, procedures and / or blocks can be implemented in software for execution by a suitable computer or processing device, such as a microprocessor, a digital signal processor (DSP), etc., and / or any suitable programmable logic device, such as a field-programmable gate array (FPGA) device and a programmable logic controller (PLC) device.

[0206] It should also be understood that the general processing power of any device implementing the present application can be re-used. Existing software can also be re-used, for example by reprogramming the existing software, or by adding new software components.

[0207] A combination of hardware and software based solutions can also be provided. The actual hardware-software partitioning can be determined by the system designer based on many factors including processing speed, implementation cost and other requirements.

[0208] Figure 11 is a schematic diagram illustrating an example of a computer implementation 100 according to an embodiment. In this particular example, at least some of the steps, functions, processes, modules and / or blocks described herein are implemented in a computer program 125; 135 which is loaded into memory 120 for execution by processing circuitry comprising one or more processors 110. The processor(s) 110 and memory 120 are interconnected to each other to enable normal software execution. An optional input / output device 140 can also be interconnected to the processor(s) 110 and / or memory 120 to enable input and / or output of relevant data such as input parameter(s) and / or derived output parameter(s).

[0209] The term “processor” should be interpreted in its generic sense as any system or device that is capable of executing program code or computer program instructions to perform a particular processing, determining or computing task.

[0210] The processing circuitry comprising one or more processors 110 is thus configured to perform defined processing tasks, such as those described herein, when executing the computer program 125.

[0211] In a particular example, a computer program 125; 135 is provided which comprises instructions which, when executed by the at least one processor 110, cause the at least one processor 110 to:

[0212] obtaining a fully or partially non-causal modular parametric process model of an industrial and / or technical process, and the fully or partially non-causal modular parametric process model is defined such that the industrial and / or technical process is at least partially modeled by one or more neural networks used as general function approximators;

[0213] simulating the industrial and / or technical process based on the fully or partially non-causal modular parametric process model and a corresponding system of differential equations;

[0214] applying reverse mode automatic differentiation on the system of differential equations to generate an estimate representing an evaluation of the industrial and / or technical process model; and

[0215] Based on the generated evaluation estimates, at least one parameter of the parameterized process model of the industrial and / or technical process is updated using a gradient descent or ascent procedure.

[0216] In another example, a computer program 125; 135 is provided, the computer program comprising instructions which, when executed by at least one processor 110, cause the at least one processor 110 to perform the following:

[0217] obtaining a fully or partially non-causal modular parameterized control model of a control process performed by a control system controlling at least a part of an industrial and / or technical process, including one or more parameters of the fully or partially non-causal modular parameterized control model, wherein the control process is at least partially modeled by one or more neural networks used as universal function approximators;

[0218] simulating the control process performed by the control system based on the fully or partially non-causal modular parameterized control model and a corresponding system of differential equations;

[0219] applying reverse mode automatic differentiation to the system of differential equations to generate control model evaluation estimates; and

[0220] updating at least one parameter of the parameterized control model using a gradient descent or ascent procedure based on the control model evaluation estimates.

[0221] The processing circuitry does not have to be dedicated to only perform the above-described steps, functions, procedures, and / or blocks but can also perform other tasks.

[0222] Further, it is expressly noted that the present application fully encompasses all kinds of computer program products comprising appropriate instructions sets for execution by an instruction execution system, apparatus or device, such as a computer-based system, processor- containing system, or other system that can fetch instructions from a medium and execute the instructions, using or in conjunction with the medium.

[0223] The software can be implemented as a computer program product, which is generally carried on a non-transitory computer-readable medium, such as a CD, DVD, USB memory, hard disk drive, or any other conventional memory device. The software can thus be loaded into the operational memory of the computer or equivalent processing system so as to be executed by the processor. The computer / processor does not have to be dedicated to only perform the above-described steps, functions, procedures, and / or blocks but can also perform other software tasks.

[0224] When executed by one or more processors, the one or more flowcharts presented herein can be viewed as one or more computer flowcharts. A corresponding device can be defined as a set of functional modules, where each step executed by the processor corresponds to a functional module. In this case, the functional modules are implemented as computer programs running on the processor.

[0225] A computer program residing in the memory can thus be organized as appropriate functional modules configured to perform at least part of the steps and / or tasks described herein when executed by the processor.

[0226] Alternatively, the module(s) can be implemented mainly by hardware modules or alternatively by hardware with appropriate interconnections between the relevant modules. Specific examples include one or more appropriately configured digital signal processors and other known electronic circuits (e.g., discrete logic gates) and / or application-specific integrated circuits (ASICs) as previously described, which are interconnected to perform the specific functions. Other examples of available hardware include input / output (I / O) circuitry and / or circuitry for receiving and / or sending signals. The range of software and hardware is purely an implementation choice.

[0227] It is becoming increasingly common to provide computing services (hardware and / or software) in which resources are delivered as a service over a network to a remote location. By way of example, this means that the functionality described herein can be distributed or relocated to one or more separate physical nodes or servers. The functionality can be relocated or distributed to one or more cooperating physical and / or virtual machines that can be located in separate physical node(s) (i.e., so-called cloud). This is sometimes also referred to as cloud computing, which is a model for enabling ubiquitous on-demand network access to a pool of configurable computing resources such as networks, servers, storage, applications, and even customised services.

[0228] The above-described embodiments should be understood as illustrative of some of the inventive aspects of the present application. Those skilled in the art will perceive various modifications, combinations, and changes of the described embodiments. In particular, different parts of different embodiments can be combined in other configurations.

Claims

1. A computing system (20; 30; 100) comprising: - one or more processors (110); - a memory (120) configured to store: - a fully or partially acyclic modular parametric model of an industrial and / or technical process, the model comprising at least one physical sub-model and at least one neural network sub-model serving as a universal function approximator for modeling at least partially the industrial and / or technical process, including storing one or more model parameters of the fully or partially acyclic modular parametric model; - a simulator configured to simulate, by the one or more processors (110), the industrial and / or technical process based on the fully or partially acyclic modular parametric model and a corresponding system of differential equations; and - an evaluator configured to apply, by the one or more processors (110), reverse mode automatic differentiation on the system of differential equations while simulating the industrial and / or technical process to generate an evaluation estimate representing an evaluation of the industrial and / or technical process model; and 2. The system of claim 1, wherein, - an adaptation module configured to receive, by the one or more processors (110), the evaluation estimate to update at least one model parameter of the fully or partially acyclic modular parametric model of the industrial and / or technical process based on a gradient descent or ascent procedure.

3. The system of claim 2, wherein, The memory (120) is configured to store technical sensor data, and the evaluator is configured to generate the evaluation estimate based at least in part on the technical sensor data.

4. The system of claim 1 or 2, wherein, The technical sensor data comprises one or more time series parameters originating from one or more data collection systems monitoring the industrial and / or technical process. The system (20; 30; 100) further comprises, as part of the simulator: - a compiler configured to receive, by the one or more processors (110), the parametric process model and create the system of differential equations; 5. The system of claim 4, wherein, - one or more differential equation solvers configured to receive, by the one or more processors (110), the system of differential equations and simulate the industrial and / or technical process over time.

6. The system of claim 5, wherein, The one or more differential equation solvers are configured to simulate, by the one or more processors (110), dynamics of a state of the industrial and / or technical process over time, and the evaluator is configured to generate, by the one or more processors (110), an estimate of a gradient with respect to at least one loss function related to one or more states derived from the one or more differential equation solvers for output to a model adaptation module.

7. The system of claim 6, wherein, The at least one loss function represents a simulation error in the industrial and / or technical process modeling.

8. The system of claim 1, wherein, The at least one loss function represents an error between i) a simulated industrial and / or technical process based on a model and ii) a real-world representation of the industrial and / or technical process based at least in part on technical sensor data from the one or more data collection systems. The adaptation module comprises: - an optimizer configured to, by the one or more processors (110): - receive the evaluation estimate and the at least one loss function; and - update the at least one model parameter of the fully or partially acyclic modular parametric model of the industrial and / or technical process based on a gradient descent or ascent procedure. receiving one or more model parameters from the memory; receiving the evaluation estimate from the evaluator, and updating one or more model parameters based on a gradient descent or ascent procedure, and storing the updated parameters to the memory.

9. The system of claim 8, wherein, The optimizer is configured to receive, by the one or more processors (110), a gradient estimate from the evaluator, and to update one or more model parameters using a gradient descent on a loss function encoding simulation error in modeling the industrial and / or technical process.

10. The system of any one of claims 8 to 9, wherein, The memory (120) is further configured to store: a fully or partially acyclic modular parameterized control model for modeling a control process performed by a control system (15) controlling at least a part of the industrial and / or technical process, including storing one or more parameters of the parameterized control model, wherein the fully or partially acyclic modular parameterized control model is defined to interact with at least a part of a fully or partially acyclic modular parameterized model of the industrial and / or technical process as optimized by the updated model parameters, wherein the control process is modeled at least in part by one or more neural networks used as universal function approximators; wherein the system further comprises: a control simulator configured to simulate, by the one or more processors (110), the control process based on the fully or partially acyclic modular parameterized control model and corresponding differential equations; and a control objective module configured to evaluate, by the one or more processors (110), a control objective for a control system controlling the industrial and / or technical process, the control objective being defined as a control objective function of a state of the control model; a control reverse mode automatic differentiation estimator configured to estimate, by the one or more processors (110), a gradient of the control objective on a control simulation with respect to one or more control parameters using reverse mode automatic differentiation with respect to the differential equations simulating the control process; and a control optimizer configured to receive, by the one or more processors (110), the gradient from the control reverse mode automatic differentiation estimator and one or more control parameters, and to update the control parameters based on a gradient descent or ascent and to store the improved control parameters to the memory (120).

11. The system of claim 10, further comprising a control system (15) using the control parameters to control the industrial and / or technical process.

12. The system of claim 11, further comprising an industrial and / or technical system (10) for performing the industrial and / or technical process as controlled by the control system (15).

13. A system (20; 30; 100) configured to evaluate and / or adapt one or more technical models related to an industrial and / or technical process, wherein The system (20; 30; 100) is configured to obtain a fully or partially acyclic modular parametric model of the industrial and / or technical process, including obtaining one or more model parameters of the fully or partially acyclic modular parametric model, wherein the fully or partially acyclic modular parametric model is defined such that the industrial and / or technical process is at least partially modeled by one or more neural networks serving as universal function approximators; wherein the system (20; 30; 100) is configured to simulate the industrial and / or technical process based on the fully or partially acyclic modular parametric model and a corresponding system of differential equations, and wherein the system (20; 30; 100) is configured to apply reverse mode automatic differentiation to the system of differential equations and to generate an estimate representing an evaluation of a process model of the industrial and / or technical process, and wherein the system (20; 30; 100) is configured to update at least one model parameter of the fully or partially acyclic modular parametric model of the industrial and / or technical process based on the generated evaluation estimate and based on a gradient descent or ascent procedure, and to store the new parameters to a memory.

14. The system of claim 13, wherein, The system (20; 30; 100) is configured to obtain technical sensor data representing one or more states of the industrial and / or technical process at one or more time instances, and the system (20; 30; 100) is configured to generate the evaluation estimate based at least partially on the technical sensor data, wherein the system (20; 30; 100) is configured to simulate dynamics of the one or more states of the industrial and / or technical process over time, and the system (20; 30; 100) is configured to generate an estimate of a gradient with respect to at least one loss function representing an error between i) a simulated industrial and / or technical process based on the model and ii) a real-world representation of the industrial and / or technical process based at least partially on the technical sensor data in relation to one or more simulated states.

15. The system of claim 13 or 14, wherein, The system (20; 30; 100) is further configured to obtain a fully or partially acyclic modular parametric control model of a control process executed by a control system (15) controlling at least a portion of the industrial and / or technical process, including one or more parameters of the fully or partially acyclic modular parametric control model, wherein the fully or partially acyclic modular parametric control model is defined to interact with at least a portion of the parametric model of the industrial and / or technical process as optimized by the updated model parameters, wherein the control process is at least partially modeled by one or more neural networks serving as universal function approximators; wherein the system (20; 30; 100) is configured to simulate the control process executed by the control system based on the fully or partially acyclic modular parametric control model and a corresponding system of differential equations; wherein the system (20; 30; 100) is configured to apply reverse mode automatic differentiation to the system of differential equations to generate a control model evaluation estimate; and wherein the system (20; 30; 100) is configured to apply reverse mode automatic differentiation to the system of differential equations to generate a control model evaluation estimate; and wherein the system (20; 30; 100) is configured to update at least one parameter of the fully or partially acyclic modular parameterized control model based on the evaluation estimate of the control model.

16. The system of claim 15, wherein, The system (20; 30; 100) is configured to pass at least a part of the parameters of the control model to the control system (15) to be used as a basis for controlling the industrial and / or technical process.

17. The system of any one of claims 13, 14, and 16, wherein, The system (20; 30; 100) comprises processing circuitry (110) and a memory (120), wherein the memory (120) comprises instructions which, when executed by the processing circuitry (110), cause the processing circuitry (110) to evaluate and / or adapt the one or more technical models related to the industrial and / or technical process.

18. A control system (15) for a technical and / or industrial system (10), wherein The control system (15) comprises and / or interacts with the system (20; 30; 100) according to any one of claims 13 to 17.

19. An industrial and / or technical system (10) comprising the system (20; 30; 100) according to any one of claims 13 to 17 and / or the control system (15) according to claim 18.

20. A method for improving an industrial and / or technical process, the method being performed by one or more processors for evaluating and / or adapting one or more technical models related to the industrial and / or technical process, the method comprising: - obtaining (SI) a fully or partially acyclic modular parameterized model of an industrial and / or technical process, the model comprising at least one physical submodel and at least one neural network submodel serving as a universal function approximator for at least partially modeling the industrial and / or technical process, including one or more parameters of the fully or partially acyclic modular parameterized model; - generating (S2) a system of differential equations based on the fully or partially acyclic modular parameterized model; - simulating (S3) dynamics of one or more states of the industrial and / or technical process over time based on the system of differential equations; and - applying (S4) reverse mode automatic differentiation to the system of differential equations in simulating the industrial and / or technical process to generate an estimate representing an evaluation of the industrial and / or technical process model; and - updating (S5) at least one model parameter of the fully or partially acyclic modular parameterized model of the industrial and / or technical process using a gradient descent or ascent procedure based on the evaluation estimate.

21. The method of claim 20, wherein, The estimate is generated at least partially based on technical sensor data originating from the industrial and / or technical process.

22. The method of claim 20 or 21, wherein, The step of applying reverse mode automatic differentiation to generate the estimate comprises the step of using the reverse mode automatic differentiation to generate a gradient estimate based on simulated states of a loss function.

23. The method of claim 20, further comprising: - receiving: at least one part of the industrial and / or technical process model optimized based on the updated at least one model parameter and a fully or partially acyclic modular parameterized control model of the parameterized control system for the industrial and / or technical process; a control objective function of a state of the control model encoding a control objective for the industrial and / or technical process; and parameters of the control model; - generating the state of the control model using one or more differential equation solvers; - generating gradient estimates of the control objective function with respect to the parameters of the control model using reverse mode automatic differentiation; - updating one or more of the parameters of the control model using gradient descent or ascent on the gradient estimates.

24. The method of claim 23, wherein, The updated parameters of the control model are stored in a memory or the parameterized control system is configured according to the updated parameters of the control model.

25. The method of any one of claims 20, 21, 23, and 24, wherein, The method is applied to adaptive modeling and / or control of at least a part of an industrial and / or technical system of at least one of the following: industrial manufacturing, processing and packaging, automotive and transportation, mining, pulp, infrastructure, energy and power, telecommunications, information technology, audio / video, life sciences, oil, natural gas, water treatment, health and aerospace industries.

26. A computer program (125; 135) comprising instructions, which, when executed by at least one processor (110), cause the at least one processor (110) to: obtain a fully or partially acyclic modular parameterized model of an industrial and / or technical process, and the fully or partially acyclic modular parameterized model is defined such that the industrial and / or technical process is modeled at least partially by one or more neural networks used as universal function approximators; simulate the industrial and / or technical process based on the fully or partially acyclic modular parameterized model and a corresponding system of differential equations; apply reverse mode automatic differentiation to the system of differential equations to generate an estimate representing an evaluation of the industrial and / or technical process model; and update at least one parameter of the parameterized process model of the industrial and / or technical process based on the generated evaluation estimate using a gradient descent or ascent procedure.

27. A computer program (125; 135) comprising instructions, which, when executed by at least one processor (110), cause the at least one processor (110) to: Obtaining a fully or partially non-causal modular parametric control model of a control process executed by a control system controlling at least a part of an industrial and / or technical process, comprising one or more parameters of the fully or partially non-causal modular parametric control model, wherein the control process is modeled at least partially by one or more neural networks used as universal function approximators; simulate a control process executed by the control system based on the fully or partially acyclic modular parameterized control model and a corresponding system of differential equations; apply reverse mode automatic differentiation to the system of differential equations to generate a control model evaluation estimate; and update at least one parameter of the parameterized control model based on the control model evaluation estimate using a gradient descent or ascent procedure.

28. A computer program product comprising a non-transitory computer readable medium (120; 130) having stored thereon a computer program (125; 135) according to claim 26 or 27.

Citation Information

Patent Citations

  • Parametric universal nonlinear dynamics approximator and use

    US20150185717A1