The following relates to a method for performing collaborative machine learning of analytical models which can be deployed on customer computing devices of customer premises such as manufacturing plants of different customers.
Machine learning is a tool for optimization of industrial processes which can be used in a wide variety of different applications, e.g. for the optimization of machine tools, for fault detection in digital grids, for increasing an efficiency of wind turbines, for performing factory automation process monitoring, for performing analysis of sensor data or e.g. the emission reduction in gas turbines.
The development of machine learning algorithms is data driven and involves typically the creation of a parameterized data model of a system of interest and training the data model with large amounts of process data. The data model effectively learns a behavior of the investigated system, for example to make predictions or to optimize processes. The quality of the data models is in general directly related to an amount of data available to train the respective data models. Usually, if more data is available, the training can result in better performing data models.
Consequently, there is an interest of different customers performing similar processes to pool their data to train data models used commonly by different customers to generate data models which provide a higher performance. However, different customers performing similar processes are often competitors and have an interest in keeping their local data undisclosed and wish to keep the industrial data within its local customer premises.
An aspect relates to a method for machine learning of analytical models which allows to optimize industrial processes of different customers.
Embodiments of the invention provides according to the first aspect a method for machine learning of analytical models comprising core model components shared between tasks of different customers and comprising specialized model components specific to customer tasks of individual customers,
wherein the machine learning of the analytical models is performed collaboratively based on local data provided by machines of customer premises of different customers without the local data leaving the respective customer premises.
In a possible embodiment of the method for machine learning of analytical models according to the first aspect of embodiments of the present invention, the analytical models specific to associated customer tasks are deployed by a third-party backend on assigned customer computing devices, in particular edge computing devices located at the customer premises of the customers and connected to processing entities, in particular machines of the respective customers which provide local data, in particular industrial data and/or machine data generated by the respective machines.
In a further possible embodiment of the method according to the first aspect of embodiments of the present invention, the deployed customer task specific analytical models can be executed on the assigned customer computing devices based on the local data, in particular the local industrial data, to provide model updates of the analytical models, wherein the updated shared core model components are communicated by the customer computing devices via an interface as candidate core model components to the third-party backend.
In a further possible embodiment of the method according to the first aspect of embodiments of the present invention, the third-party backend combines the communicated received candidate core model components to provide global candidate core model components.
In a further possible embodiment of the method according to the first aspect of embodiments of the present invention, analytical models deployed on assigned customer computing devices of customers are replaced by candidate analytical models comprising the provided global candidate core model components if it is verified that the deployed analytical models are outperformed by the respective candidate analytical models.
In a possible embodiment of the method according to the first aspect of embodiments of the present invention, the analytical models comprise neural networks including several network layers.
In a possible embodiment of the method according to the first aspect of the present invention, the core model components comprise one or more bottom layers of the neural network shared between tasks of different customers.
In a further possible embodiment of the method according to the first aspect of embodiments of the present invention, the specialized model components comprise one or more top layers of the neural network specific to associated customer tasks.
In a still further possible embodiment of the method according to the first aspect of embodiments of the present invention, the verification is performed by the third-party backend using available test data provided by the third party and/or provided by the customers.
In a still further possible embodiment of the method according to the first aspect of embodiments of the present invention, the verification is performed by analyzing the candidate analytical models comprising the provided global candidate core model components.
In a further possible embodiment of the method according to the first aspect of embodiments of the present invention, the verification is performed by testing candidate analytical models deployed on customer computing devices of customer premises.
In a possible embodiment the verification is performed in a secure computing device.
In a further possible embodiment of the method according to the first aspect of embodiments of the present invention, multiple model versions of each complete analytical model comprising the core model components and comprising the specialized model components are maintained and managed at the third-party backend and/or on the customer premises of each customer.
In a possible embodiment of the method according to the first aspect of embodiments of the present invention, the model versions of the analytical models comprise a production model version of the analytical model,
a local model version of the analytical model and
a global model version of the analytical model.
In a still further possible embodiment of the method according to the first aspect of embodiments of the present invention, the production model version of the analytical model is executable in a production mode on process or industrial data during a production process at a customer premises.
In a further possible embodiment of the method according to the first aspect of embodiments of the present invention, the local model version of the analytical model is executable in a development mode having the specialized model components specific to the associated customer tasks updated on the basis of the task specific local data and having fixed core model components.
In a still further possible embodiment of the method according to the first aspect of embodiments of the present invention, the global model version of the analytical model is executable in the development mode and has specialized model components specific to the associated customer task updated on the basis of task specific local data and having core model components updated on the basis of local data throughout all compatible tasks across the customer premises of all customers.
In a further possible embodiment of the method according to the first aspect of embodiments of the present invention, a performance provided by the global model version of the analytical model and a performance provided by the global model version of the analytical model are locally monitored using local test data.
In a further possible embodiment of the method according to the first aspect of embodiments of the present invention, if the performance provided by the global model version of the analytical model is superior to the performance provided by the local model version of the analytical model, the core model components and the specialized model components of the local model version are replaced by the corresponding model components of the global model version of the analytical model.
In a further possible embodiment of the method according to the first aspect of embodiments of the present invention, if either the performance provided by the global model version of the analytical model or the performance provided by the local model version of the analytical model is superior to the performance provided by the production model version of the analytical model, the production model version of the analytical model is replaced by the model version of the analytical model providing the best or highest performance.
In a still further possible embodiment of the method according to the first aspect of embodiments of the present invention, the replacement of model versions of the analytical model is performed automatically depending on the performance provided by the model versions of the analytical model and/or depending on anonymity thresholds.
In a still further possible embodiment of the method according to the first aspect of embodiments of the present invention, the tasks comprise inference tasks where the analytical model is applied to receive local data and learning tasks to improve the analytical model.
In a further possible embodiment of the method according to the first aspect of embodiments of the present invention, the customer computing devices comprise edge computing devices which supply the received local data of machines and/or industrial processes located at the customer premises to a local data concentrator of the customer premises which collects and/or aggregates the local data received from the edge computing devices and forward them via a customer premises gateway to a central third-party cloud backend.
Embodiments of the invention provides according to the second aspect an industrial system comprising
customer premises of different customers,
wherein each customer premises comprises one or more machines providing local data applied to customer computing devices having deployed analytical models comprising core model components shared between tasks of different customers and comprising specialized model components specific to customer tasks of individual customers, and comprising a third-party backend adapted to combine candidate core model components formed by updated shared core model components of the analytical models trained on local data to generate global candidate core model components, and to replace analytical models deployed on assigned customer computing devices by candidate analytical models comprising the global candidate core model components if it is verified that the deployed analytical models are outperformed by the corresponding candidate analytical models.
Some of the embodiments will be described in detail, with reference to the following figures, wherein like designations denote like members, wherein:
As can be seen in
The analytical model AM illustrated schematically in
With the method according to embodiments of the present invention, the machine learning of the analytical model AM such as a neural network NN, is performed collaboratively based on local data LD provided by the machines or industrial devices at the customer premises or manufacturing plants of different customers Cust without the local data LD leaving the respective customer premises.
The shared model components, i.e. core model components CMCs, can be updated using the machine data or industrial data available throughout all compatible tasks t and customers serving the purpose of a general feature extractor beneficial across all tasks t. Compatible refers to the assumption that solving two different tasks t involves common (abstract) sub-goals. In contrast, the task and customer specific model component SMC is learned solely or exclusively from the locally available local data LD serving as a refinement module that builds on top of the globally operating core model components CMCs. The model core of the analytical model AM can consist of core model components CMCs and can have a complex structure that requires large amounts of data to be effectively trained. Given the core model, the local learning task can be dramatically reduced in complexity requiring only data models of low complexity in these specific or specialized model components SMCs and does require an order of magnitude less data to be effectively trained.
In a further step S2, the deployed customer task specific analytical models AMs are executed on the assigned customer computing devices based on the local data LD to provide model updates of the analytical models AMs. The updated shared core model components CMCs are communicated as candidate core model components in step S2 to the third-party backend 7.
In a further step S3, the third-party backend 7 combines the received communicated candidate core model components to provide global candidate core model components.
In a further step S4, analytical models AMs deployed on assigned customer computing devices of customers Cust are replaced by candidate analytical models AMs comprising the provided global candidate core model components if it is verified that the deployed analytical models AMs are outperformed by the respective candidate analytical models AMs. The verification performed in step S4 can be performed in a possible embodiment by the third-party backend 7 using available test data provided by the third party or provided by the customers. The verification can be performed in a possible embodiment by analyzing the candidate analytical models AMs comprising the provided global candidate core model components. The testing can be performed in a possible embodiment by testing candidate analytical models AMs deployed on customer computing devices at different customer premises.
In a further step S3, the third-party backend 7 can combine the communicated (local) candidate core model components cCMCs to provide global candidate core model components gcCMCs. A third party can replace in a step S4 analytical models AMs deployed on the assigned customer computing devices 4A, 4B of customers by candidate analytical models comprising the global candidate core model components gcCMCs if it is verified that the deployed analytical model AMs are outperformed by the respective candidate analytical models AMs. In a possible embodiment, the verification can take place in the central third-party backend 7. The verification can be performed by the third-party backend 7 using in a possible implementation available test data TD or test datasets provided by the third party itself or by using test data TD provided by the different customers A, B. Further, the third-party backend 7 can be adapted to analyze the updates themselves, i.e. performing a statistical analysis and performing a comparison between them.
In a further possible embodiment, the verification can be performed by analyzing the candidate analytical models cAMs comprising the provided global candidate core model components gcCMCs. The verification can be performed by testing in a possible embodiment candidate analytical models cAMs deployed on customer computing devices 4A, 4B of the different customer premises 2A, 2B. Optionally, the verification can be performed by securely deploying and executing partial model updates on the customer premises of third parties in order to test them. Based on the test results, the third-party backend 7 can maintain model versions for each customer task t and updates the models used in production.
In a possible embodiment, different model versions of each complete analytical model AM are managed and maintained at the third-party backend 7 and/or on the customer premises 2A, 2B of the customers A, B. The complete analytical model AM comprises both the core model components CMCs and the specialized model components SMCs. In a possible embodiment, three different model versions of each analytical model AM are maintained and managed by the third-party backend 7 or at the customer premises 2A, 2B of the customers A, B. These model versions include a production model version PMV-AM of the analytical model AM, a local model version LMV-AM of the analytical model AM and a global model version GMV-AM of the analytical model AM. These three different model versions of the analytical model AM are also illustrated in
The production model version of the analytical model PMV-AM illustrated in
The local model version of the analytical model LMV-AM illustrated in the middle of
The global model version of the analytical model GMV-AM is also executable in the development mode and comprises specialized model components SMCs specific to the associated customer task t updated on the basis of task specific local data LD and further comprises core model components CMCs updated on the basis of local data LD throughout all compatible tasks t across the customer premises of all customers.
In
The production model version of the analytical model PMV-AM (
In the local model version of the analytical model LMV-AM (
In the global model version of the analytical model GMV-AM (
In case that the global model version of the analytical model GMV-AM outperforms the local model version of the analytical model LMV-AM, the local model version of the analytical model LMV-AM is replaced by the global model version of the analytical model GMV-AM. The illustrated mechanism is adapted to protect the local productive model performance on a task t at a customer Cust. In a possible embodiment, the third-party backend 7 or each customer Cust maintains a local label dataset (test dataset) of sufficient size for each task t to which neither the core model components CMCs nor the task specific model components SMCs were exposed to for training purposes. This test dataset can serve as an independent test set to approximate and to perform benchmarking of the performance provided by the different model versions on the corresponding task t.
Using this test dataset, it is possible to implement a semi-automatic or fully automatic versioning system for the core model components CMCs and the specialized model components SMCs. The update of the operating data model can be performed on demand or automatically based on the performance of the model version on the locally provided benchmark test dataset. For this purpose, the third-party backend 7 or each customer Cust can maintain three local copies or versions of the complete analytical model AM including the core model components CMCs and the specialized model components SMCs for each individual customer and each task t. These three local copies are illustrated in
The two model versions executable in the development mode, i.e. the local model version of the analytical model LMV-AM and the global model version of the analytical model GMV-AM, do not operate on a local task t but serve as synchronization candidates for the model running during production, i.e. the production model version of the analytical model PMV-AM. For the first development analytical model, e.g. the local model version of the analytical model LMV-AM illustrated in
On the other hand, the second model version which can be run in the development mode, i.e. the global model version of the analytical model GMV-AM illustrated in
In a possible embodiment, a performance provided by the local model version of the analytical model LMV-AM and a performance provided by the global model version of the analytical model GMV-AM are locally monitored using the local test dataset. If the performance provided by the global model version of the analytical model GMV-AM is superior to the observed performance provided by the local model version of the analytical model LMV-AM, the core model components CMCs and the specialized model components SMCs of the local model version of the analytical model LMV-AM are replaced by the corresponding model components of the global model version of the analytical model GMV-AM. Accordingly, if the global model version is superior over the local model version, the core model components CMCs and the specialized model components SMCs of the local model version LMV-AM are replaced by the ones from the global model version GMV-AM as also illustrated in
A further update rule is as follows. If either the performance provided by the global model version of the analytical model GMV-AM or the performance provided by the local model version of the analytical model LMV-AM is superior to the performance provided by the production model version of the analytical model PMV-AM, the production model version of the analytical model PMV-AM is replaced by the model version of the analytical model AM providing the best performance.
These updates can be executed either automatically as soon as pre-specified conditions are met (e.g. performance or anonymity thresholds) or manually by the customer or by the third party.
The management of the different model versions provided for each customer and task specific model can be performed either at the third-party backend 7 or directly on the customer premises of each customer.
If the different model versions are managed at the third-party backend 7, it is necessary that the test dataset from each customer is made available to the third-party backend 7. In this case, updates for both the shared core model components CMCs as well as the specific model components SMCs are sent by the customer premises 2A, 2B to the third-party backend 7 which implements the update rules. In this embodiment, the third-party backend 7 only needs to deliver the production model version of the analytical model PMV-AM back to each customer premises 2A, 2B after each update.
In an alternative embodiment, the management of the multiple model versions is performed directly on the premises 2A, 2B of each customer. This option can be applied when the test dataset from each customer is not available at the third-party backend 7. In this case, monitoring performance of the different model versions can be based on the test dataset and is performed directly on the customer premises. To do this, the third-party backend 7 can deploy all the management model versions for each analytical model AM to customer premises. Alternatively, these model versions may be directly generated at the customer premises. For this last alternative embodiment, customers may only send updates for the shared core model parts CMCs of the analytical model AM to the third-party backend 7, and the third-party backend 7 distributes these updates to other customers in order to allow them to independently implement the update rules on their premises.
For the different implementation options described above, the third-party backend 7 can optionally take measures to ensure that no sensitive data from any given customer is exposed to any of the other customers. Sensitive data about the processes of a customer can be contained in the model updates, i.e. specifically in the core model components CMCs that are delivered to the customers, as these are based on data received from many different customer premises.
In an alternative embodiment, the third-party backend 7 ensures anonymization of each core model component part CMC before delivering it to other customers, for example by pooling many updates from different customers together, or by performing perturbations of the updates.
In a further alternative embodiment, the updates of the models are managed at customer premises in a secure way such that the sensitive parts of the analytical models AMs and the updates are not visible to the receiving customer. To make this possible, in a possible embodiment a secure computing element or device 8A, 8B can be operated by the third-party and deployed on the customer premises 2A, 2B, i.e. its manufacturing plant as illustrated in
In a possible embodiment, the third-party running the backend 7 is able to deploy to the secure computing device 8A, 8B encrypted and signed analytical models AMs and updates for evaluation. The third-party backend 7 can deploy directly updates of the shared core model components CMCs of the analytical models AMs from other customers, or directly entire analytical models AMs, i.e. local or global model versions of the analytical models AMs. The customer A, B can retain full control over the traffic that goes into and out to the secure computing device 8A, 8B. That is, the customer A, B controls the delivery of model updates (even if it does not have visibility over the content) and the in-feed of test data TD to the secure computing devices 8A, 8B. More importantly, a customer A, B can control the amount of traffic generated from the secure computing device 8A, 8B itself towards the third-party backend 7. This provides assurance to the customer that its own data does not leave its customer premises 2A, 2B. For example, for each analytical model AM to be tested, the secure computing device 8A, 8B may only produce a small response or test result TR containing the test set performance. It is possible to provide a generic analytical model AM performing a function f(x,w), wherein x is the input data and w comprises the model coefficients. The test performance can for example be given by a mean squared error e=1/N Σi=1i=N (f (xi, w)−yi)2, wherein xi is the i-th test input and yi is the i-th expected output. The sum can be calculated across all N test datasets. Independent of the size of the test dataset, a small packet can be sent back as a test result TR to the third-party backend 7. The size of the messages fed back to the third-party backend 7 can provide a guarantee to the customer A, B that their test process data TD has not been leaked to the third-party backend 7, even if they are not able to see the encrypted messages. The secure third-party device 8A, 8B can perform a model update validation using supplied test data TD which may be read from a local database 9A, 9B as shown in
In a possible embodiment, the secure computing devices 8A, 8B can perform the following steps.
In a first step, the secure computing device 8A, 8B receives analytical models AMs from the third-party backend 7 (including decryption and integrity verification). Alternatively, the secure computing device 8A, 8B can receive only model updates, and generate and manage multiple model versions of each analytical model AM internally based on the updates.
In a further step, the secure computing device 8A, 8B can execute the model versions on test datasets TD provided by the customer.
In a further step, the secure computing device 8A, 8B can generate responses or test results TR for the third-party backend 7 with the test performance (including encryption and signing).
In a further possible embodiment, the secure computing device 8A, 8B can perform a verification of the integrity of the test dataset TD (for example, to ensure that the same test dataset has been selected by the customer for different updates or that the update has been performed upon agreement with the third party). In a possible implementation, the verification of the integrity of the test dataset TD can include the storage of hash values for different datasets.
The method according to the first aspect of embodiments of the present invention enables a collaborative development of analytical models AMs (e.g. machine learning analytical models) based on local data LD provided by many different parties, i.e. customers, hence achieving a higher performance. At the same time, the method according to the first aspect of embodiments of the present invention ensures that process data LD is processed locally by each party or customer A, B without a need to share the local data LD with a third party, hence being more efficient for large data volumes and more suitable for customers with privacy concerns.
Further, the method according to the first aspect of embodiments of the present invention ensures that there is no performance degradation, as multiple model versions of each analytical model AM are managed, their performance is monitored and only the best model candidates are used during operation of the industrial system 1.
Further, the method according to embodiments of the present invention ensures that each customer A, B is not able to see individual model updates from other parties or customers, hence the method preserves the privacy of potentially sensitive process data or local data LD contained in the analytical models AMs.
Different distributed model training techniques are combined in the method and system 1 according to embodiments of the present invention with a model verification and/or model versioning step performed by the third-party backend 7. The third-party backend 7 is able to update a part of the analytical model AM used for each individual customer on tasks t based on relevant updates provided by other customers. The verification step can be performed in different ways and may comprise the combination of different techniques such as using test data (e.g. test data belonging to the third party or test data provided by customers), analyzing of the updates (statistical analysis, comparison) or by securely deploying partial analytical model AM updates on other customer premises to implement individual model updates without exposing sensitive information or data.
With the method and system according to embodiments of the present invention, it is possible to improve data analysis services provided in different applications including for instance the optimization of machine tool systems, fault detection in digital grids, wind turbine efficiency increase, factory automation process monitoring, real-time analysis of train sensor data or emission control in gas turbines. It is possible to provide improved analytical data models AMs by using a larger set of available data even from customers A, B which are not willing to share their own process data or industrial data LD, or which are concerned about privacy leaks or which fear malicious actions taken by competitors.
The model execution on the process data or industrial data LD can be performed locally on edge computing devices 4A, 4B or in a dedicated device such as a server data concentrator or gateway 6A, 6B belonging to the customer premises 2A, 2B. The process data or industrial data LD is executed in a possible embodiment on a production model version of the analytical model PMV-AM.
Model updates can be generated on the customer computing devices 4A, 4B or on separated dedicated devices or on both. For example, a concentrator or a gateway unit 6A, 6B can perform a first consolidation of customer model's updates before sending them to the third-party backend 7. In a possible embodiment, the customer premises 2A, 2B can provide a filter to perform filtering of data or to perform perturbation on model coefficients for privacy reasons at this stage.
The verification of the received model updates and the generation of updated task and customer specific models by the third-party backend 7 can take place in different ways. The verification can take place directly in the third-party backend 7 if test data is available or by securely deploying and executing partial analytical models AMs on the customer premises, for instance on a secure computing device 8A, 8B run by the third party.
In a possible embodiment, even the operational model versions of the analytical model AM can be kept and managed. In this case, model execution and learning can take place directly on the secure computing devices 8A, 8B controlled by the third party.
Although the present invention has been disclosed in the form of preferred embodiments and variations thereon, it will be understood that numerous additional modifications and variations could be made thereto without departing from the scope of the invention.
For the sake of clarity, it is to be understood that the use of “a” or “an” throughout this application does not exclude a plurality, and “comprising” does not exclude other steps or elements. The mention of a “unit” or a “module” does not preclude the use of more than one unit or module.
Number | Date | Country | Kind |
---|---|---|---|
18153884.4 | Jan 2018 | EP | regional |
This application claims priority to PCT Application No. PCT/EP2018/084201, having a filing date of Dec. 10, 2018, which is based on EP Application No. 18153884.4, having a filing date of Jan. 29, 2018, the entire contents both of which are hereby incorporated by reference.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2018/084201 | 12/10/2018 | WO | 00 |