Techniques for Swarm Analysis
By building a local machine learning model at a factory site and updating it with cloud services, the high cost and data sensitivity of centralized analysis are solved, and efficient and privacy-protected distributed machine cluster analysis is achieved.
Patent Information
- Application Number
- CN202080101281.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-03-18
- Filing Date
- 2020-11-18
- Publication Date
- 2025-07-22
- Estimated Expiration
- 2040-11-18
AI Technical Summary
In the prior art, centralized cluster analysis methods lead to high network traffic and storage costs, and data sharing sensitivity problems are difficult to solve in multi-entity factories.
Build a local machine learning model at each factory site and update and integrate models through cloud services to achieve decentralized analysis and reduce the need for data transmission and sharing of sensitive data.
Reduces network and storage costs, ensures data privacy, and improves the efficiency and accuracy of analysis, entities can benefit from the computing power of cloud resources.
Smart Images

Figure CN115699039B_ABST
Abstract
Description
[0001] Cross - Reference to Related Applications
[0002] This application claims priority to U.S. Patent Application No. 16 / 822,293, filed on March 18, 2020, the entire disclosure of which is incorporated herein by reference. Technical Field
[0003] This disclosure relates to techniques for fleet analysis, including analyzing data from a fleet of factories or installations of one or more entities. Background Art
[0004] Fleet analysis typically involves collecting data from each factory in the fleet to a central location, such as a cloud service provider to which each factory is connected, and analyzing the data to obtain a machine learning model applicable to the fleet. Thus, each factory can then use these machine learning models to analyze subsequently obtained data. For example, the obtained machine learning model can reliably predict certain results of given subsequently obtained data. In addition, the cloud service provider can use the subsequently obtained data to periodically retrain the machine learning model.
[0005] However, the method of using a central location has several problems. For example, since the method is centralized, all data generated at each factory incurs network traffic and overhead costs. In particular, the data sent by a given factory may be voluminous, which will result in high storage costs if sent to a cloud server. In addition, in some cases, a factory may not have a reliable connection to the cloud server, which will result in significant network overhead for sending all data to the cloud server. Another problem is that especially in a fleet where factories are owned by different entities, such as in the case where the entity is a single customer, the entity may be reluctant to share data with the cloud server because the data may be sensitive in nature. Summary of the Invention
[0006] Embodiments presented herein disclose a computer-implemented method for analyzing data in one factory site among a plurality of factory sites. The method generally includes constructing, by a computing device, a first machine learning model for one or more first data streams associated with one factory site among a plurality of factory sites. The method generally further includes sending, by the computing device, the first machine learning model to a cloud service. The method generally further includes receiving, by the computing device, a second machine learning model from the cloud service. The second machine learning model is trained based on the first machine learning model and one or more machine learning models constructed by other factory sites among the plurality of factory sites. The method generally further includes updating, by the computing device, the first machine learning model based on the second machine learning model.
[0007] Another embodiment presented herein discloses a computer-readable storage medium storing multiple instructions that, when executed on a processor, cause a computing device to analyze data in one of multiple factory sites. The instructions also cause the computing device to establish a first machine learning model for one or more first data streams associated with one of the multiple factory sites. The instructions also cause the computing device to send the first machine learning model to a cloud service and receive a second machine learning model from the cloud service. The second machine learning model is trained based on the first machine learning model and one or more machine learning models constructed by other factory sites among the multiple factory sites. The instructions also cause the computing device to update the first machine learning model based on the second machine learning model.
[0008] Another embodiment presented herein discloses a computing device having a processor and a memory. The memory stores multiple instructions that, when executed on the processor, cause the computing device to analyze data in one of multiple factory sites. The instructions also cause the computing device to establish a first machine learning model for one or more first data streams associated with one of the multiple factory sites. The instructions also cause the computing device to send the first machine learning model to a cloud service and receive a second machine learning model from the cloud service. The second machine learning model is trained based on the first machine learning model and one or more machine learning models constructed by other factory sites among the multiple factory sites. The instructions also cause the computing device to update the first machine learning model based on the second machine learning model. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The concepts described herein are illustrated by way of example and not limitation in the figures. For simplicity and clarity of illustration, the elements shown in the figures are not necessarily drawn to scale. Where considered appropriate, reference numerals are repeated in the figures to indicate corresponding or analogous elements.
[0010] Figure 1 is a simplified block diagram of at least one embodiment of a computing environment that provides decentralized cluster analysis;
[0011] Figure 2 is one of the edge devices configured to send a data stream as input to a local machine learning model Figure 1 of at least one embodiment of a simplified block diagram;
[0012] Figure 3 is Figure 1 a simplified block diagram of at least one embodiment of a computing device configured to provide decentralized analysis for a group of factory sites;
[0013] Figure 4 and Figure 5is a simplified flowchart of at least one embodiment of a method for generating local machine learning data for use in decentralized cluster analysis that can be executed by a computing device at a factory site; and
[0014] Figure 6 is a simplified flowchart of at least one embodiment of a method for generating cluster analysis based on one or more machine learning models obtained from multiple factory systems that can be executed by a computing device of a cloud service provider. DETAILED DESCRIPTION
[0015] Although the concepts of the present disclosure are susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and will be described in detail herein. However, it should be understood that the intention is not to limit the concepts of the present disclosure to the particular forms disclosed, but on the contrary, to cover all modifications, equivalents, and alternatives consistent with the present disclosure and the appended claims.
[0016] References in the specification to "one embodiment", "an embodiment", "an illustrative embodiment", etc., mean that the described embodiment may include a particular feature, structure, or characteristic, but each embodiment may or may not include that particular feature, structure, or characteristic. Moreover, these phrases do not necessarily refer to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is considered within the knowledge of those skilled in the art to implement such feature, structure, or characteristic in connection with other embodiments (whether or not explicitly described). Additionally, it should be understood that items included in a list in the form of "at least one of A, B, and C" may mean (A); (B); (C); (A and B); (B and C); (A and C); or (A, B, and C). Similarly, items listed in the form of "at least one of A, B, or C" may mean (A); (B); (C); (A and B); (B and C); (A or C); or (A, B, and C).
[0017] In some cases, the disclosed embodiments may be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments may also be implemented as instructions carried or stored on one or more transient or non-transient machine-readable (e.g., computer-readable) storage media, which may be read and executed by one or more processors. A machine-readable storage medium may be implemented as any storage device, mechanism, or other physical structure for storing or transmitting information in a machine-readable form (e.g., volatile or non-volatile memory, magnetic disk or other media device).
[0018] In the accompanying drawings, some structural or method features may be shown in a particular arrangement and / or order. However, it should be understood that such a particular arrangement and / or order may not be required. Instead, in some embodiments, these features may be arranged in a different manner and / or order than shown in the illustrative drawings. Additionally, the inclusion of a structural or method feature in a particular drawing does not imply that such a feature is required in all embodiments, and in some embodiments, such a feature may not be included or may be combined with other features.
[0019] The embodiments provided herein disclose techniques for providing fleet analytics to individual factories and factory components within a fleet. More specifically, the embodiments provide a decentralized approach for providing fleet analytics based on machine learning models output from each individual factory (or unit of monitored equipment) within the fleet. As further described herein, the systems within each individual factory establish machine learning models based on data streams originating from the factory. Then, each individual factory provides the data stream (e.g., obtained by sensors, supervisory and control systems, and other observational data from components within the factory) as input to the corresponding machine learning model. Doing so causes the machine learning model to output results as a function of the data stream. The factory then sends the machine learning model and the results output to a cloud server associated with the fleet. Thereafter, the cloud server can generate a machine learning model at least in part based on the transmitted data from the factories within the fleet. Once generated, the cloud server can send the generated machine learning model to each factory. The factory can use the generated machine learning model for local analysis.
[0020] Advantageously, the embodiments disclosed herein allow an individual entity to use its existing edge or on-premise analytics and infrastructure. Additionally, the method does not require the entity to send data streams obtained at factory sensors, which may be sensitive in nature and also voluminous. Instead, the entity can send the machine learning models for obtaining analytics and result data, and yet under this method, this allows the entity to benefit from the collective knowledge of the fleet and computational power provided by cloud resources.
[0021] Now refer to Figure 1, A computing environment 100 for providing swarm analysis includes a cloud service provider 102 and factory systems 110, 124, and 138. Each of the cloud service provider 102 and the factory systems 110, 124, and 138 is interconnected via a network 152 (e.g., the Internet). The cloud service provider 102 is an entity that typically provides online services to users. The cloud service provider 102 may consist of physical resources (e.g., computing, storage, memory) that are available to users on demand. For example, in one embodiment, the physical resources of the cloud service provider 102 may include a computing device 104 that generates analytics (e.g., via one or more machine learning (ML) models 106) from data sent from the factory systems 110, 124, and 138.
[0022] In one embodiment, the factory systems 110, 124, 138 (collectively referred to herein as "swarms") each represent an industrial factory at a given location. In some cases, the factory systems 110, 124, 138 may be related to each other (e.g., as different factories of an organization) or may be completely separate entities that are users of the analytics services of the cloud service provider 102. As shown, each factory system 110, 124, 138 includes a local cloud service 112, 126, 140, respectively. The local cloud services 112, 126, 140 may be implemented as a collection of physical resources associated with the respective factory systems 110, 124, 138 (e.g., located within the factory systems 110, 124, 138 themselves or another geographical location). For example, in one embodiment, the local cloud services 112, 126, 140 may include respective computing devices 114, 128, 142 that are used to generate analytics (e.g., using ML models 116, 130, 144, respectively) based on data collected from sensor devices of the factory systems. Edge devices within the factory systems may be configured with such sensor devices, or may also receive sensor data from other devices (e.g., generators, welding robots, temperature sensors, etc.), supervisory and control systems, or observational data collected by some other means. Exemplarily, the factory system 110 includes edge devices 118, 120, 122; the factory system 124 includes edge devices 132, 134, 136; and the device system 138 includes edge devices 146, 148, and 150.
[0023] Turning to the factory system 110 as an example, the edge device 118 can correspond to a camera system in a factory with various visual and audio sensors, the edge device 120 can correspond to a thermal control unit that obtains data from thermal sensors, and the edge device 122 can correspond to a computing device that collects data from various sensors from other devices within the factory system 110. Each of the edge devices 118, 120, 122 sends the collected data as a data stream (or as batches of data sent periodically); the lambda architecture allows both methods to be applied to the local cloud service 112. Further, the local cloud service 112 can generate various analyses by inputting the collected data into the ML model 116. For example, the analysis can include prediction results based on the given input data.
[0024] In addition, the ML models 116, 130, 144 can rely on knowledge obtained from the collective data streams obtained from the factory systems 110, 124, 138 to produce more reliable analyses of new data streams collected at each factory system. At the same time, some users may wish to maintain the confidentiality of the data in the corresponding factory systems as well as maintain network capacity in the factory systems. To address these issues, in one embodiment, the computing device 104 receives the ML models 116, 130, 144 and produces results therefrom to update each of the ML models 116, 130, 144. Specifically, the computing device 104 can use integrated machine learning techniques to generate an ML model based on the given received ML models 116, 130, 144 and the ML model 106. Since the generated ML model is a combination of the ML model 106 and the given ML models 116, 130, 144, the prediction ability of the generated ML model is at least equal to the prediction ability of the given ML models 116, 130, 144. Thereafter, the computing device 104 can send the generated ML model to the factory systems 110, 124, 138. Advantageously, using the generated ML model for subsequently obtained data allows the factory systems 116, 124, 138 to benefit from the analysis and insights of the entire fleet.
[0025] In addition, in one embodiment, the factory systems 110, 124, 138 can send the results and key performance indicators (KPIs) from using the generated ML model to the cloud service provider 102. For example, the given computing devices 114, 128, 142 can input the KPI data into a markup language format (e.g., in an extensible markup language (XML) format) and output the data to the cloud service provider 102. Doing so allows the computing device 104 to update the generated ML model and also generate a fleet analysis dashboard accessible to users (e.g., through an administrative console executed on the computing devices 114, 128, 142).
[0026] Note that the factory systems 110, 124, 138 are referred to above as a cluster. However, those skilled in the art will recognize that a cluster can also include a collection of devices associated with a single factory or user. For example, a cluster can correspond to a welding robot of the factory system 110 that transmits actuator data to the local cloud service 112. A cluster can also include cutting tools and monitoring devices associated with those cutting tools within the factory system 100. The embodiments presented herein can also be applicable to a cluster of devices.
[0027] Now referring to Figure 2 , an edge device 200 is shown. The edge device 200 represents any one of the edge devices 118, 120, 122, 132, 134, 136, 146, 148, and 150 described with respect to Figure 1 . The illustrative edge device 200 includes a computing engine 210, an input / output (I / O) subsystem 216, a communication circuitry 218, and one or more data storage devices 222. Of course, in other embodiments, the edge device 200 can include other or additional components, such as those commonly found in a computer (e.g., a display, peripherals, etc.). Additionally, in some embodiments, one or more of the illustrative components can be incorporated into another component or otherwise form a part of another component. Of course, Figure 2 the components depicted in
[0028] are provided only as examples to illustrate the embodiments disclosed herein. In fact, the actual edge device 200 can include additional or fewer components.
[0029] The memory 214 can be implemented as any type of volatile memory (e.g., dynamic random access memory, etc.) or non-volatile memory (e.g., byte-addressable memory) or data storage device capable of performing the functions described herein. Volatile memory is a storage medium that requires power to maintain the state of the data stored by the medium. Non-limiting examples of volatile memory can include various types of random access memory (RAM), such as DRAM or static random access memory (SRAM). A particular type of DRAM that can be used in a memory module is synchronous dynamic random access memory (SDRAM). In a particular embodiment, the DRAM of the memory component can comply with standards published by JEDEC, such as JESD79F for DDR SDRAM, JESD79-2F for DDR2 SDRAM, JESD79-3F for DDR3 SDRAM, JESD79-4A for DDR4 SDRAM, JESD209 for low-power DDR (LPDDR), JESD209-2 for LPDDR2, JESD209-3 for LPDDR3, and JESD209-4 for LPDDR4. Such standards (and similar standards) can be referred to as DDR-based standards, and the communication interface of a storage device that implements such a standard can be referred to as a DDR-based interface. In some embodiments, all or a portion of the memory 214 can be integrated into the processor 212.
[0030] The computing engine 210 is communicatively coupled via the I / O subsystem 216 to other components of the computing environment 100. The I / O subsystem 216 can be implemented as circuitry and / or components that facilitate input / output operations with the computing engine 210 (e.g., with the processor 212 and / or the memory 214) and other components of the edge device 200. For example, the I / O subsystem 216 can be implemented as or otherwise include a memory controller hub, an input / output control hub, an integrated sensor hub, a firmware device, a communication link (e.g., a point-to-point link, a bus link, a wire, a cable, an optical waveguide, a printed circuit board trace, etc.), and / or other components and subsystems that facilitate input / output operations. In some embodiments, the I / O subsystem 216 can form part of a system-on-chip (SoC) and be incorporated into the computing engine 210 along with one or more of the processor 212, the memory 214, and other components of the edge device 200.
[0031] The communication circuitry 218 can be implemented as any communication circuit, device, or collection thereof capable of enabling communication on a network between the edge device 200 and other devices such as the computing devices 114, 128, 142, etc. The communication circuitry 218 can be configured to use any one or more communication technologies (e.g., wired or wireless communication) and associated protocols (e.g., Ethernet, achieve this communication through, for example, WiMAX or the like.
[0032] The illustrative communication circuit system 218 includes a network interface controller (NIC) 220, which may also be referred to as a host fabric interface (HFI). The NIC 220 is a hardware component that connects the edge device 200 to a computer network. The NIC 220 implements circuitry for communicating using a given physical layer and data link layer standard (e.g., Ethernet, WiFi, etc.). Doing so provides a basis for a complete network protocol stack that allows communication between other devices. The NIC 220 may be implemented as one or more plug-in boards, daughter cards, controller chips, chip sets, or other devices that can be used by the edge device 200 for network communication with remote devices. For example, the NIC 220 may be implemented as an expansion card coupled to the I / O subsystem 216 through an expansion bus such as PCI Express.
[0033] One or more illustrative data storage devices 222 may be implemented as any type of device, storage device, and circuitry, memory card, hard disk drive (HDD), solid state drive (SSD), or other data storage device configured for short-term or long-term storage of data. Each data storage device 222 may include a system partition for storing the data and firmware code of the data storage device 222. Each data storage device 222 may also include an operating system partition for storing data files and executable programs for the operating system.
[0034] Additionally or optionally, the edge device 200 may include one or more sensors 224. Each sensor 224 may be implemented as any device or circuitry that collects data from devices of the factory system. For example, the sensor 224 may include a vision sensor 230, an audio sensor 232, a thermal sensor 234, a leak sensor 236, and other sensors 238. Additionally, the edge device 200 may include one or more actuators 226. One or more actuators 226 may be implemented as any device or circuitry that controls an agency or system at the factory system. The actuators 226 may include an electric actuator 240, a pneumatic actuator 242, a hydraulic actuator 244, and other actuators 246.
[0035] Additionally or optionally, the edge device 200 may include one or more peripherals 228. Such peripherals 228 may include any type of peripheral common in a computing device, such as a display, speakers, a mouse, a keyboard, and / or other input / output devices, interface devices, and / or other peripherals.
[0036] As described above, the edge device 200 illustratively communicates via the network 152, which can be implemented as any type of wired or wireless communication network, including a global network (e.g., the Internet), a local area network (LAN) or a wide area network (WAN), a cellular network (e.g., Global System for Mobile Communications (GSM), 3G, Long Term Evolution (LTE), Worldwide Interoperability for Microwave Access (WiMAX)), etc.), a digital subscriber line (DSL) network, a cable network (e.g., a coaxial network, a fiber optic network, etc.), or any combination thereof.
[0037] Reference now Figure 3 , showing components of a computing device 104. The illustrative computing device 104 includes a computing engine 310, an input / output (I / O) subsystem 316, a communication circuit system 318, and one or more data storage devices 322. Of course, in other embodiments, the edge device 200 may include other or additional components, such as those commonly found in computers (e.g., displays, peripherals, etc.). Additionally, in some embodiments, one or more of the illustrative components may be incorporated into or otherwise form part of another component. Of course, Figure 3 The components depicted in the 104 are provided as examples only to illustrate the embodiments disclosed herein. In practice, the actual computing device 104 may include additional or fewer components.
[0038] The computing engine 310 may be implemented as any type of device or collection of devices capable of performing the various computing functions described below. In some embodiments, the computing engine 310 may be implemented as a single device, such as an integrated circuit, an embedded system, a field programmable gate array (FPGA), a system on a chip (SOC), or other integrated system or device. In addition, in some embodiments, the computing engine 310 includes or is implemented as a processor 312 and a memory 314. The processor 312 may be implemented as one or more processors, each of which is of a type capable of performing the functions described herein and may be controlled by a processor 312 and a memory 314. Figure 2 The processor 212 is composed of similar components as described above.
[0039] The memory 314 may be implemented as any type of volatile memory (e.g., dynamic random access memory, etc.) or non-volatile memory (e.g., byte addressable memory) or data storage device capable of performing the functions described herein, and may be connected to the corresponding Figure 2 The memory 314 may be composed of similar components as described above. In addition, the memory 314 may include an ML engine 315. The ML engine 315 may be implemented as any device or circuit system configured to perform one or more ML techniques on data received from a cluster or a factory system or factory system equipment. ML techniques may generally include predictive analysis, online learning techniques, integrated machine learning techniques, neural networks, marching machine learning techniques, etc.
[0040] The computing engine 310 is communicatively coupled via the I / O subsystem 316 to other components of the computing environment 100. The I / O subsystem 316 can be implemented as circuitry and / or components that facilitate input / output operations with the computing engine 310 (e.g., with the processor 312 and / or the memory 314) and other components of the computing device 104. The I / O subsystem 316 can consist of components similar to the I / O subsystem 216 described with respect to Figure 2 the I / O subsystem 216 described with respect to
[0041] The communication circuitry 318 can be implemented as any communication circuitry, device, or collection thereof capable of enabling communication over a network between the computing device 104 and other devices such as computing devices 114, 128, 142, etc. The communication circuitry 318 can be configured to use any one or more communication technologies (e.g., wired or wireless communication) and associated protocols (e.g., Ethernet, WiMAX, etc.) to enable such communication. An illustrative communication circuitry 318 includes a network interface controller (NIC) 320, which includes components similar to the NIC 220 described with respect to Figure 2 the NIC 220 described with respect to
[0042] One or more illustrative data storage devices 322 can be implemented as any type of device configured for short-term or long-term storage of data, such as storage devices and circuitry, memory cards, hard disk drives (HDDs), solid state drives (SSDs), or other data storage devices, and can include components similar to the data storage device 222 described with respect to Figure 2 the data storage device 222 described with respect to
[0043] Additionally or alternatively, the computing device 104 can include one or more peripheral devices 324. Such peripheral devices 324 can include any type of peripheral device common in computing devices, such as a display, speakers, a mouse, a keyboard, and / or other input / output devices, interface devices, and / or other peripheral devices.
[0044] As described above, the computing device 104 communicatively couples illustratively via the network 152, which can be implemented as any type of wired or wireless communication network, including a global network (e.g., the Internet), a local area network (LAN), or a wide area network (WAN), a cellular network (e.g., Global System for Mobile Communications (GSM), 3G, Long Term Evolution (LTE), Worldwide Interoperability for Microwave Access (WiMAX), etc.), a Digital Subscriber Line (DSL) network, a cable network (e.g., a coaxial network, a fiber optic network, etc.), or any combination thereof.
[0045] Now referring to Figure 4 and Figure 5, shows a method 400 for providing decentralized cluster analysis. More specifically, method 400 involves initializing a machine learning model on a local cloud service at a factory system for sending to a cloud service provider 102. As shown, method 400 begins at block 402, where the local cloud service determines whether a current data stream (or batch) from the factory system is available. If not, then at block 404, the local cloud service retrieves one or more historical data streams available to the factory system. The historical data streams are related to historical data that may have been obtained from the factory system at a previous time point. The local cloud service can "bootstrap" the historical data to build a factory machine learning model (at block 406). Otherwise, at block 408, if a current data stream is available, the local cloud service can build a factory machine learning model from the current data stream. More specifically, the local cloud service can use online machine learning techniques to output its local machine learning model, along with the results of the current data stream and the accuracy of the data stream on the local machine learning model, to the cloud service provider 102. The machine learning model can be written in a standard description format such as Predictive Model Markup Language (PMML) format and sent to the cloud service provider 102.
[0046] At block 410, the local cloud service receives a data stream from a local edge device in the factory system. At block 412, using machine learning techniques, the local cloud service analyzes the data stream. For example, at block 414, the local cloud service provides each received data stream as input to a machine learning function associated with the machine learning model. At block 416, the local cloud service generates one or more results from the machine learning function. At block 418, the local cloud service updates the factory machine learning model based on the one or more results. At block 420, the local cloud service can increment a timer for collecting data in the stream. At block 422, the local cloud service determines whether the timer has exceeded a specified threshold. If not, then method 400 returns to block 410 to continue collecting and analyzing data streams at the factory system. However, if the timer exceeds the threshold, then at block 424, the local cloud service resets the timer. Then at block 426, the local cloud service sends the machine learning model, the results associated with the machine learning model, and the accuracy associated with the data stream to the machine learning model to the cloud service provider 102.
[0047] In block 428, as a return, the local cloud service can receive a machine learning model from the cloud service provider 102. The machine learning model received from the cloud service provider 102 is trained based on the machine learning model sent to the cloud service provider 102 and the machine learning models received from one or more other factory systems. In block 430, the local cloud service can update the local machine learning model received from the cloud service provider 102. The method 400 can return to block 410 to continue collecting data from the factory system to further analyze those data streams using the updated machine learning model.
[0048] Now referring Figure 6 , a method 600 for providing decentralized fleet analysis is shown. More specifically, the method 600 involves the cloud service provider 102 generating a machine learning model from the machine learning models and insights provided by the factory systems of the fleet. As shown, the method 600 begins at block 602, where the cloud service provider 102 determines whether historical factory data is available. The historical factory data can be sourced from one or more factory systems in the fleet. If so, then in block 604, the cloud service provider 102 trains a cloud machine learning model based on the historical factory data. Doing so allows the cloud service provider 102 to "bootstrap" the historical data to initialize the machine learning model, for example, in cases where the factory systems are not sending any current data streams to the cloud service provider 102.
[0049] In block 606, the cloud service provider 102 can receive a machine learning model, the results generated from the data stream, and the accuracy of the data stream to the machine learning model from a given factory system. In block 608, the cloud service provider 102 can train the cloud machine learning model with the received data. For example, in block 610, the cloud service provider 102 can perform an ensemble technique on the factory machine learning model based on the cloud learning model, the received model, and the machine learning model data (e.g., including results and insights) from other factory systems. To this end, the cloud service provider 102 can perform various ensemble machine learning techniques.
[0050] For example, cloud service provider 102 may apply bagging ensemble techniques, such as the random forest technique that combines multiple decision trees. Bagging ensemble techniques involve each machine learning model received from the factory system for voting with a given weight. For example, if a given factory system machine learning model is a binary classifier (e.g., a classifier that provides a "yes" or "no" output), each machine learning model may vote yes or no with the assigned given weight, and the overall model generated by cloud service provider 102 may obtain a majority vote from the machine learning models of the factory system and cloud service provider 102 (e.g., ML model 106). The weight of a given model may be a function of the accuracy of the model on the data stream, the size of the data stream, and the desired quality of the data stream. If a given machine learning model of the factory system is a regressor, the overall model generated by cloud service provider 102 may take a weighted average of the regression outputs of the machine learning models of the factory system and cloud service provider 102. Note that the machine learning models received from the factory system may all be different types of machine learning models. For example, the machine learning model from a given factory system may be a decision tree, the machine learning model from another given factory system may be a neural network, the machine learning model from yet another given factory system may be a support vector machine, and so on.
[0051] As another example, cloud service provider 102 may perform stacking ensemble techniques. Using such techniques, an ensemble machine learning model may be generated by training ML model 106 with data on cloud service provider 102, where the predictions of the machine learning models received from the factory system on the data on the cloud are used as additional inputs to ML model 106.
[0052] As yet another example, cloud service provider 102 may perform Traveling Machine Learning (TML) techniques. Generally, TML utilizes two characteristics. One characteristic is that a machine learning model can be incrementally trained and updated on micro-batches of data. A second characteristic is that a machine learning model can be obtained from a factory system. A TML model can be initiated in cloud service provider 102 and incrementally trained from any data in cloud service provider 102. Then, the TML model can travel (e.g., via a model output command) to a first factory system and be trained from the data at that factory system. The first factory system can update its machine learning model to the TML model. The resulting TML model then "travels" to a second factory system (e.g., by sending the TML model to cloud service provider 102, which in turn sends the TML model to the second factory system). The second factory system can update its machine learning model to the TML model and perform the process in a cyclic manner to other successive factory systems in a similar fashion. If the factory systems are connected to each other, the TML model can travel between factories (e.g., skipping the full transfer of an intermediate TML model to cloud service provider 102). However, in this case, the TML model may not benefit from the data provided by cloud service provider 102.
[0053] At block 612, cloud service provider 102 may incrementally update the cloud machine learning model with the factory machine learning model and the factory machine learning models of other factory systems. At block 614, cloud service provider 102 may send the trained cloud machine learning model to the factory system. Doing so allows the factory system to update its machine learning model with the sent cloud machine learning model.
[0054] Although certain exemplary embodiments have been described in detail in the drawings and the foregoing description, such illustration and description should be considered exemplary and not restrictive. It should be understood that only exemplary embodiments have been shown and described, and all changes and modifications falling within the spirit of the present disclosure are desired to be protected. Various advantages of the present disclosure stem from the various features of the methods, systems, and articles described herein. It should be noted that alternative embodiments of the methods, systems, and articles of the present disclosure may not include all of the described features, but still benefit from at least some of the advantages of such features. Those of ordinary skill in the art can readily design their own implementations of methods, systems, and articles that incorporate one or more features of the present disclosure.
Claims
1. A computer-implemented method for analyzing data in one of a plurality of factory sites, wherein the one factory site of the plurality of factory sites is associated with a first network, the first network including a computing device communicatively coupled to one or more edge devices, the method comprising: Constructing, by the computing device, a first machine learning model of one or more first data streams received from the one or more edge devices; Providing, by the computing device, each of the one or more first data streams as an input to a machine learning function associated with the first machine learning model; Generating, by the computing device, one or more results from the machine learning function associated with the first machine learning model; Sending, by the computing device, the first machine learning model and the one or more results over a network to a cloud service associated with a second network, wherein the second network is separate from the first network; Receiving, by the computing device, a second machine learning model from the cloud service, the second machine learning model being trained by the cloud service based on: (i) the first machine learning model, (ii) the one or more results from the machine learning function associated with the first machine learning model, (iii) one or more machine learning models constructed by other factory sites of the plurality of factory sites, and (iv) results generated by providing one or more data streams as inputs to one or more machine learning functions associated with the one or more machine learning models constructed by other factory sites of the plurality of factory sites, wherein the second machine learning model is sequentially transmitted by the cloud service to each of the other factory sites of the plurality of factory sites for sequential training by data streams at each of the other factory sites of the plurality of factory sites; Updating, by the computing device, the first machine learning model based on the second machine learning model; And After updating the first machine learning model based on the second machine learning model, further updating, by the computing device, the first machine learning model based on the one or more first data streams associated with the one factory site of the plurality of factory sites.
2. The method according to claim 1, wherein constructing the first machine learning model comprises: Updating, by the computing device, the first machine learning model based on the one or more results.
3. The method according to any one of the preceding claims further comprises: Determining, by the computing device, whether one or more historical data streams are available for the one factory site of the plurality of factory sites, wherein constructing the first machine learning model is further based on the historical data streams.
4. The method according to any one of the preceding claims, further comprising: Receiving, by the computing device, one or more data streams from each of the one or more edge devices in the one factory site of the plurality of factory sites.
5. The method according to any one of the preceding claims, wherein receiving the second machine learning model from the cloud service comprises: Receive the second machine learning model, which is trained using an ensemble technique on the machine learning model based on the machine learning model and one or more machine learning models of the other factory sites among the multiple factory sites.
6. The method according to any one of the preceding claims, wherein receiving the second machine learning model from the cloud service comprises: Receive the second machine learning model, which is incrementally trained by each of the other factory sites among the multiple factory sites.
7. A computer-readable storage medium comprising multiple instructions that, when executed on a processor, cause a computing device at one of multiple factory sites to perform the following, where the one of the multiple factory sites is associated with a first network that includes the computing device communicatively coupled to one or more edge devices: Construct a first machine learning model for one or more first data streams received from the one or more edge devices; Provide each of the one or more first data streams as an input to a machine learning function associated with the first machine learning model; Generate one or more results from the machine learning function; Send the first machine learning model and the one or more results to a cloud service associated with a second network, where the second network is separate from the first network; Receive from the cloud service a second machine learning model, which is trained by the cloud service based on: (i) the first machine learning model, (ii) the one or more results from the machine learning function associated with the first machine learning model, (iii) one or more machine learning models constructed by other factory sites among the multiple factory sites, and (iv) results generated by providing one or more data streams as inputs to one or more machine learning functions associated with the one or more machine learning models constructed by other factory sites among the multiple factory sites, where the second machine learning model is sequentially transmitted by the cloud service to each of the other factory sites among the multiple factory sites for sequential training by data streams at each of the other factory sites among the multiple factory sites; Update the first machine learning model based on the second machine learning model; And After updating the first machine learning model based on the second machine learning model, further update the first machine learning model based on the one or more first data streams associated with the one of the multiple factory sites.
8. The computer-readable storage medium according to claim 7, where constructing the first machine learning model includes: Updating the first machine learning model based on the one or more results.
9. The computer-readable storage medium according to any one of claims 7 or 8, wherein the plurality of instructions further cause the computing device to determine whether one or more historical data streams are available for the one factory site among the plurality of factory sites, and wherein constructing the first machine learning model is further based on the historical data streams.
10. The computer-readable storage medium according to any one of claims 7 to 9, wherein the plurality of instructions further cause the computing device to receive one or more data streams from each of the one or more edge devices in the one factory site among the plurality of factory sites.
11. The computer-readable storage medium according to any one of claims 7 to 10, wherein receiving the second machine learning model from the cloud service comprises: Receive the second machine learning model, which is trained by the cloud service using an ensemble technique on the machine learning model based on the machine learning model and the one or more machine learning models of the other factory sites among the plurality of factory sites.
12. The computer-readable storage medium according to any one of claims 7 to 11, wherein receiving the second machine learning model from the cloud service comprises: Receive the second machine learning model, which is incrementally trained by each of the other factory sites among the plurality of factory sites.
13. A computing device of one factory site among a plurality of factory sites, wherein the one factory site among the plurality of factory sites is associated with a first network, the first network includes a computing device communicatively coupled to one or more edge devices, and the computing device includes: A processor; And A memory storing a plurality of instructions, which when executed on the processor, cause the computing device to: Construct a first machine learning model of one or more first data streams received from the one or more edge devices; Provide each of the one or more first data streams as an input to a machine learning function associated with the first machine learning model; Generate one or more results from the machine learning function; Send the first machine learning model and the one or more results to a cloud service associated with a second network, wherein the second network is separate from the first network; Receive from the cloud service a second machine learning model, which is trained by the cloud service based on: (i) the first machine learning model, (ii) the one or more results from the machine learning function associated with the first machine learning model, (iii) one or more machine learning models constructed by other factory sites among the plurality of factory sites, and (iv) results generated by providing one or more data streams as inputs to one or more machine learning functions associated with the one or more machine learning models constructed by other factory sites among the plurality of factory sites, and wherein the second machine learning model is sequentially transmitted by the cloud service to each of the other factory sites among the plurality of factory sites for sequential training by data streams at each of the other factory sites among the plurality of factory sites; Update the first machine learning model based on the second machine learning model; And After updating the first machine learning model based on the second machine learning model, further update the first machine learning model based on the one or more first data streams associated with the one factory site among the multiple factory sites.
14. The computing device according to claim 13, wherein constructing the first machine learning model comprises: Updating the first machine learning model based on the one or more results.
15. The computing device according to claim 14, wherein sending the first machine learning model to the cloud service comprises sending the first machine learning model and the one or more results to the cloud service.
16. The computing device according to any one of claims 13 to 15, wherein the plurality of instructions further cause the computing device to determine whether one or more historical data streams are available for the one factory site among the multiple factory sites, and wherein constructing the first machine learning model is further based on the historical data streams.
17. The computing device according to any one of claims 13 to 16, wherein the plurality of instructions further cause the computing device to receive one or more data streams from each of the plurality of edge devices in the one factory site among the multiple factory sites.
18. The computing device according to any one of claims 13 to 17, wherein receiving the second machine learning model from the cloud service comprises: Receive the second machine learning model, which is trained using an ensemble technique on the machine learning model according to the machine learning model and the one or more machine learning models of the other factory sites among the multiple factory sites.
19. The computing device according to any one of claims 13 to 18, wherein receiving the second machine learning model from the cloud service comprises: Receive the second machine learning model, which is incrementally trained by each of the other factory sites among the multiple factory sites.
Citation Information
Patent Citations
Systems and methods for failure prediction in industrial environments
US20170308802A1