RL4MachineTuning
The library includes functionalities to apply reinforcement learning to industrial machines tuning
The RL4MachineTuning library proposes the creation of a tool embedding reinforcement learning (RL) applied to the tuning of industrial machine parameters to optimize the target application. The RL4MachineTuning library embeds an RL methodology, having the possibility to exploit user-specified reward/penalty functions, user-specified inputs, and user-specified outputs for the definition of the objective of the RL. These feature make this library general and applicable to a wide range of applications, even outside the industrial context.
Language of the library: Python
Additional information: In many industrial applications it is not possible to define an analytical model (e.g., physical modeling) for the process to be optimized (too complex modeling, changing scenarios, etc.). Therefore, the optimization of a specific application requires the use of data-driven approaches. RL is a suitable methodology to solve such an issue. By exploiting the available data from the target application, it is possible to design an RL-based solution capable to create a mapping between the inputs and the outputs of the process. RL, appropriately defining the target objective function to be optimized, allows guiding the learning of the target application, optimizing its results.
The RL4MachineTuning library embeds an RL methodology, having the possibility to exploit several features for the definition of the objective of the RL, namely:
- user-specified reward/penalty functions, specifically designed for a target process/application;
- user-specified inputs, such as available measurements used by the specified reward/penalty functions; and
- user-specified outputs, such as quality measurements of the target applications or other signals/states available from the machine.
The RL4MachineTuning library is developed starting from an already available one in which Bayesian optimization has been developed for the same target application (i.e., optimization of machine parameters to achieve the maximum performance in the related application), showing high efficiency in terms of the required number of experiments to achieve the optimal tuning of the machine (i.e., maximizing the performance of the target process based on the user-specified objective function.