A composition of autonomous self-learning skill software components interact with one another to solve a real time complex task. Each software component includes a knowledge base and an inference algorithm that uses the knowledge base to solve a given data-processing task involving input data. Each software component may also include a machine learning algorithm for training the knowledge base with new data in real-time as the new data is received.
|
12. A computer program product for generating optimization recommendations residing on a non-transitory computer readable medium including a skill composition program containing a plurality of instructions executable by one or more computer processors, comprising:
a structured and predefined composition of autonomous self-learning skill software components for solving a complex task, each software component including a knowledge base and an inference algorithm that uses the knowledge base to perform a given data-processing task involving input data or a result of a data-processing task performed by another software component or both the input data and the result of the data processing task performed by another software component, each software component also including a machine learning algorithm for training the knowledge base with new data in real-time as the new data is received, and each software component being capable of selecting new data for training the knowledge base and transforming the new data into a format useable by the software component for training the knowledge base, wherein the software components interact with one another sequentially or in parallel or both sequentially and in parallel to solve a task more complex than any task performable by any one of said software components, and wherein at least one of said software components performs a given data-processing task involving a result of a data-processing task performed by another software component, and wherein at least one of the software components comprises an optimization skill that generates an optimization recommendation to be output by the system, said optimization recommendation comprising an actionable recommendation specifying one or more setpoints for a physical process, and wherein at least one of the software components comprises an identification model skill that receives and assesses the optimization recommendation from the optimization skill to predict one or more new values of variables under a given situation or hypothesis based on the one or more setpoints, wherein the variables include a key performance indicator (KPI).
1. A computer system for generating optimization recommendations, comprising:
at least one processor;
memory associated with the at least one processor; and
a program supported in the memory, the program containing a plurality of instructions executable by the at least one processor, comprising a structured and predefined composition of autonomous self-learning skill software components for solving a complex task, each software component including a knowledge base and an inference algorithm that uses the knowledge base to perform a given data-processing task involving input data or a result of a data-processing task performed by another software component or both the input data and the result of the data processing task performed by another software component, each software component also including a machine learning algorithm for training the knowledge base with new data in real-time as the new data is received, and each software component being capable of selecting new data for training the knowledge base and transforming the new data into a format useable by the software component for training the knowledge base, wherein the software components interact with one another sequentially or in parallel or both sequentially and in parallel to solve a task more complex than any task performable by any one of said software components, and wherein at least one of said software components performs a given data-processing task involving a result of a data-processing task performed by another software component, and wherein at least one of the software components comprises an optimization skill that generates an optimization recommendation to be output by the system, said optimization recommendation comprising an actionable recommendation specifying one or more setpoints for a physical process, and wherein at least one of the software components comprises an identification model skill that receives and assesses the optimization recommendation from the optimization skill to predict one or more new values of variables under a given situation or hypothesis based on the one or more setpoints, wherein the variables include a key performance indicator (KPI).
3. The system of
4. The system of
5. The system of
6. The system of
7. The system of
8. The system of
9. The system of
10. The system of
11. The system of
13. The computer program product of
14. The computer program product of
15. The computer program product of
16. The computer program product of
17. The computer program product of
18. The computer program product of
19. The computer program product of
20. The computer program product of
21. The computer program product of
22. The computer program product of
|
The present application relates generally to computer data-processing and, more particularly, to methods and systems using a composition of autonomous self-learning software components for performing complex real time data-processing tasks.
A computer system in accordance with one or more embodiments includes at least one processor, memory associated with the at least one processor, and a program supported in the memory. The program contains a plurality of instructions executable by the at least one processor, comprising a composition of autonomous self-learning skill software components. Each software component includes a knowledge base and an inference algorithm that uses the knowledge base to solve a given data-processing task involving input data. Each software component also includes a machine learning algorithm for training the knowledge base with new data in real-time as the new data is received. The software components interact with one another to solve a complex task.
In accordance with one or more further embodiments, a computer program product is disclosed. The product resides on a non-transitory computer readable medium and includes a skill composition program containing a plurality of instructions executable by one or more computer processors. The program includes a plurality of autonomous self-learning skill software components. Each software component includes a knowledge base and an inference algorithm that uses the knowledge base to solve a given data-processing task involving input data. Each software component also includes a machine learning algorithm for training the knowledge base with new data in real-time as the new data is received, wherein the software components interact with one another to solve a complex task.
As described in further detail below, a Skill in accordance with one or more embodiments is an autonomous software component that is expert in solving a single data-processing task in a computer system. A set of Skills can be combined to solve more complex data-processing tasks in real-time. Each Skill has an inference algorithm that uses a knowledge base to carry out its task. The knowledge base can have a fixed implementation, or be self-learned automatically in each Skill, depending on its nature.
A set of Skills can be composed by defining the basic Skills (canonic Skills) involved in the resolution of a complex data-processing problem, and how they are coordinated in sequence to carry out the complex task. Skills are linked to specific dynamics (Macrostates) of the problem to solve.
Each basic Skill type (canonical Skill) is based on a specific knowledge representation paradigm and on an inference engine, able to reason and carry out a task based on that knowledge. Instances of each canonic Skill become specific task-purpose Skills which, in real-time, carry out their reasoning on the basis of their input data and their specific knowledge base, which is a specific implementation of knowledge accomplishing the knowledge representation paradigm of that canonic Skill.
Some Skills may have a fixed knowledge, implemented in accordance with a knowledge representation paradigm or in the form of mathematical equations. Other Skills are autonomous and self-learning. A self-learning Skill knows how to learn and evolve, selecting the appropriate data and transforming it and how to use its knowledge. It detects when it has to learn based on new process data. On the basis of past data of the problem adequately stored by the Skill, it has an inductive learning capability implemented in a machine learning algorithm, which means that its knowledge base is automatically populated and/or tuned to learn and adapt to carry out its task with real data of the problem.
Individual Skills are similar in general to classical self-learning Expert Systems. Each Skill includes a Knowledge Base, which is data used by an Artificial Intelligence inference algorithm to infer a result. The Knowledge Base can be predefined or can be dynamically learned from real-time data of the problem.
The knowledge representation paradigm can be any that allows carrying out a task by means of an adequate Inference Algorithm. By way of non-limiting example, the knowledge representation paradigm can be Rules, Fuzzy Rules, Bayesian Networks, Neural Networks, Neurofuzzy Networks, Support Vector Machines, statistical model equations, dynamic model equations, mathematical transformations, or source coded calculation routines in the Inference Algorithm.
Each Skill includes a machine Learning algorithm, which is an Artificial Intelligence or other algorithm that enables the Skill to learn from real-time data of the problem. It allows training the Knowledge Base of a Skill with new data in real-time. It knows which data it needs to learn from, using different criteria depending on the type of Skill.
Each Skill also includes Artificial Intelligence or other kind of Inference Algorithm that uses the knowledge of the Skill to infer a new result for the current problem status. For example, the result of the inference can be a prediction, a recommendation, or new derived variables.
Each Skill further includes a specification of the conditions in which it is applicable. These are defined as fuzzy boundary conditions (upper and lower values) for those variables that determine the applicability of the Skill, and represent states of the problem in which the Skill might be used. Each of these specifications is also called a Macrostate. Skills know in which Macrostates (problem's states) they are applicable.
Filters are data-processing methods that can be applied to results of a Skill for safety and stability reasons. For example, a filter can verify that a value of a recommendation is always inside the allowed operating boundaries.
All basic Skills of a same type (instances of the same canonic Skill) share the same inference algorithm and (eventually) the same machine learning algorithm. These Skills have a different specific knowledge base, which corresponds to its canonical specific knowledge representation paradigm. Skills also have different specifications of the fuzzy subsets of states of the problem (specified by the boundary conditions) called Macrostates.
Each Skill knows which data it needs at the input of the inference and learning algorithm. It is able to transform the problem's raw data and results of another Skill into data understandable by the algorithms.
Skills know which data to provide as its outcome. The outcome result can be processed by one or several filters, which ensure the compliance of different safety or quality conditions. The following are non-limiting examples of different type of possible Skills: (1) Optimization Skill that provides a recommendation for the optimization, (2) Identification model Skill that is a model able to predict new values of variables under certain situations or hypothesis, (3) Diagnosis Skill that is able to identify causes of failures, (4) Failure prediction Skill that is able to predict possible failures or their likelihood, (5) Soft sensor Skill that is able to estimate hidden or error data on the basis of available data, (6) Composed model Skill whose outputs are obtained my means of several complementary models, and (7) Data-processing/Filtering Skills. The composing models have inputs that can be either inputs of the composed model or outputs from composing models. Composing models also include outputs that can be either outputs of the composed model, or inputs to other composing models.
The composition of Skills allows the inference of Skills sequentially and in parallel in order to carry out more complex real-time tasks, such as, e.g., optimization, prediction, diagnosis, planning, estimation, soft-sensoring, and classification, among others.
Skills, their properties, their knowledge, and their composition can be dynamically modified and instantiated by means of XML configuration files.
By way of example, a Skill composition is implemented in the OPTIBAT® software product and technology for the Real-time optimization and overall improvement of the operation of industrial and energy intensive processes, available from OPTIMITIVE.
For the optimization of a key performance indicator (KPI) of a problem, the Skill composition is able to propose recommendations for two setpoints: Setpoint1 and Setpoint2. A prediction is provided of what will be the KPI value in case of applying the recommendation. For the prediction of the KPI, another variable (VarX2) is needed. It is not obtained from the problem. It is calculated with a mathematical function from other variable (VarX1).
The optimization Skill is only usable when VarX2 value is higher than 10. Lower values are considered a not usual or unknown situation, because they do not belong to the optimization skill Macrostate.
The Skills needed for this task are an Identification Skill (shown in
The Skills are combined as shown in
In Task1, the mathematical Skill calculates value for VarX2 using VarX1.
In Task2, the optimization Skill is used only if VarX2 value is higher than 10. It searches for optimum values for Setpoint1 and Setpoint2. These setpoints are processed by filters, to verify that values are inside defined boundaries. The result of this operation will be the recommendation.
In Task3, the recommendation is evaluated by an Identification Skill. This Skill will provide a prediction of the KPI if the recommended setpoints are applied.
As a result, with the execution of the three tasks, recommendation and prediction are obtained.
The processes of the Skills composition system described above may be implemented in software, hardware, firmware, or any combination thereof. The processes are preferably implemented in one or more computer programs executing on a programmable computer system including a processor, a storage medium readable by the processor (including, e.g., volatile and non-volatile memory and/or storage elements), and input and output devices. Each computer program can be a set of instructions (program code) in a code module resident in the random access memory of the computer system. Until required by the computer system, the set of instructions may be stored in another computer memory (e.g., in a hard disk drive, or in a removable memory such as an optical disk, external hard drive, memory card, or flash drive) or stored on another computer system and downloaded via the Internet or other network.
Having thus described several illustrative embodiments, it is to be appreciated that various alterations, modifications, and improvements will readily occur to those skilled in the art. Such alterations, modifications, and improvements are intended to form a part of this disclosure, and are intended to be within the spirit and scope of this disclosure. While some examples presented herein involve specific combinations of functions or structural elements, it should be understood that those functions and elements may be combined in other ways according to the present disclosure to accomplish the same or different objectives. In particular, acts, elements, and features discussed in connection with one embodiment are not intended to be excluded from similar or other roles in other embodiments.
Additionally, elements and components described herein may be further divided into additional components or joined together to form fewer components for performing the same functions. For example, the computer system may comprise one or more physical machines, or virtual machines running on one or more physical machines. In addition, the computer system may comprise a cluster of computers or numerous distributed computers that are connected by the Internet or another network.
Accordingly, the foregoing description and attached drawings are by way of example only, and are not intended to be limiting.
Garcia Sedano, Javier Angel, Arbizu Castaniza, Eneko
Patent | Priority | Assignee | Title |
11728012, | Jun 25 2019 | Colgate-Palmolive Company | Systems and methods for preparing a product |
Patent | Priority | Assignee | Title |
6937966, | Jun 09 2000 | International Business Machines Corporation | System and method for on-line adaptive prediction using dynamic management of multiple sub-models |
8380642, | Dec 03 2008 | Schlumberger Technology Corporation | Methods and systems for self-improving reasoning tools |
20070294201, | |||
20080134043, | |||
20090204267, | |||
20090254499, | |||
20100138368, | |||
20120095734, | |||
20120209798, | |||
20130232331, | |||
20130282641, | |||
20130304455, | |||
20150200955, | |||
KR20090024865, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Nov 17 2014 | OPTIMITIVE S.L.U. | (assignment on the face of the patent) | / | |||
Dec 18 2014 | GARCIA SEDANO, JAVIER ANGEL | OPTIMITIVE S L U | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 035274 | /0272 | |
Dec 18 2014 | CASTANIZA, ENEKO ARBIZU | OPTIMITIVE S L U | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 035274 | /0272 |
Date | Maintenance Fee Events |
Jun 14 2023 | M2551: Payment of Maintenance Fee, 4th Yr, Small Entity. |
Date | Maintenance Schedule |
Dec 17 2022 | 4 years fee payment window open |
Jun 17 2023 | 6 months grace period start (w surcharge) |
Dec 17 2023 | patent expiry (for year 4) |
Dec 17 2025 | 2 years to revive unintentionally abandoned end. (for year 4) |
Dec 17 2026 | 8 years fee payment window open |
Jun 17 2027 | 6 months grace period start (w surcharge) |
Dec 17 2027 | patent expiry (for year 8) |
Dec 17 2029 | 2 years to revive unintentionally abandoned end. (for year 8) |
Dec 17 2030 | 12 years fee payment window open |
Jun 17 2031 | 6 months grace period start (w surcharge) |
Dec 17 2031 | patent expiry (for year 12) |
Dec 17 2033 | 2 years to revive unintentionally abandoned end. (for year 12) |