Non-intrusive load monitoring using machine learning and processed training data
Through machine learning models, especially deep learning and convolutional neural networks, combined with other device characteristics, the problem of decomposing the energy usage of household devices is solved, and high-precision energy usage prediction of target devices is achieved, supporting energy conservation and grid optimization.
Patent Information
- Application Number
- CN202080020620.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-11-27
- Filing Date
- 2020-09-17
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2040-09-17
AI Technical Summary
Existing technologies have difficulty effectively decomposing the energy usage of specific devices from the overall energy usage of a household, especially due to the wide variety of devices and limited labeled data.
Machine learning models, especially deep learning schemes, are used to predict the energy usage of target devices using the overall energy usage. The decomposition accuracy is improved by using other device features in the training dataset, including convolutional neural networks and multi-model ensemble methods.
It achieves high-precision decomposition of target equipment energy usage under real-world conditions, providing energy-saving opportunities, personalized services, and better grid planning, adapting to the limitations of existing metering infrastructure.
Smart Images

Figure CN113557537B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate generally to utility metering devices, and more particularly to non-intrusive load monitoring using utility metering devices. Background Art
[0002] Non-intrusive load monitoring ("NILM") and the decomposition of various energy-using devices at a given source location have proven challenging. For example, given a household, decomposing the energy usage of appliances and / or electric vehicles from the overall monitored energy usage of the household is difficult to achieve, in part because there are many types of household appliances and / or electric vehicles (e.g., brands, models, years, etc.). Advances in metering equipment have provided some opportunities, but successful decomposition remains elusive. The limited availability of labeled data sets or source location energy usage values with labeled device energy usage values (e.g., household energy usage values labeled with the energy usage values of appliance 1, electric vehicle 1, appliance 2, etc.) has further hindered progress. NILM and decomposition techniques will therefore greatly improve the technology field and benefit users who implement these techniques, wherein NILM and decomposition techniques can learn from these limited data sets to successfully predict the energy usage of target devices from the overall energy usage at the source location. Summary of the Invention
[0003] Embodiments of the present disclosure generally relate to systems and methods for non-intrusive load monitoring using a novel learning scheme. A trained machine learning model configured to decompose device energy usage from home energy usage may be stored, wherein the machine learning model is trained to predict energy usage of a target device based on the home energy usage. Home energy usage over a period of time may be received, wherein the home energy usage includes energy consumed by the target device and energy consumed by multiple other devices. The trained machine learning model may be used to predict energy usage of the target device over the period of time based on the received home energy usage.
[0004] Features and advantages of the embodiments are set forth in the description which follows, or may be obvious from the description, or may be learned by practice of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0005] Further embodiments, details, advantages and modifications will become apparent from the following detailed description of the preferred embodiments taken in conjunction with the accompanying drawings.
[0006] Figure 1 A system for decomposing energy usage associated with a target device is shown according to an example embodiment.
[0007] Figure 2A block diagram of a computing device operatively coupled to a system is shown according to an example embodiment.
[0008] Figure 3 A flow chart for decomposing energy usage associated with a target device using a machine learning model is shown according to an example embodiment.
[0009] Figure 4A-4B A sample convolutional neural network is shown in accordance with an example embodiment.
[0010] Figure 5A-5G A sample diagram representing a device-specific decomposition according to an example embodiment is shown.
[0011] Figure 6 A flow chart for decomposing energy usage associated with a target device using multiple machine learning models is shown according to an example embodiment.
[0012] Figure 7 A flow chart for training a machine learning model to decompose energy usage associated with a target device is shown according to an example embodiment.
[0013] Figure 8 A flow chart for predicting disaggregated energy usage associated with a target device using a trained machine learning model is shown according to an example embodiment.
[0014] Figure 9 A flow chart for predicting disaggregated energy usage associated with a target device using a trained convolutional neural network is shown according to an example embodiment.
[0015] Figure 10 A flow chart for training multiple machine learning models to decompose energy usage associated with target devices is shown according to an example embodiment.
[0016] Figure 11 A flow chart for predicting disaggregated energy usage associated with target devices using multiple trained machine learning models is shown according to an example embodiment. DETAILED DESCRIPTION
[0017] Embodiments perform non-intrusive load monitoring using novel learning schemes. NILM and decomposition refer to taking the total energy usage at a source location (e.g., energy usage at a home provided by an advanced metering infrastructure) as input and estimating the energy usage of one or more appliances, electric vehicles, and other devices that use energy at the source location. Embodiments utilize a trained machine learning model to predict the energy usage of a target device based on the total energy usage at the source location. For example, the target device can be a large appliance or an electric vehicle, the source location can be a home, and the trained machine learning model can receive the energy usage of the home as input and predict the energy usage of the target device (e.g., the energy usage of the target device included in the energy usage of the home as a whole).
[0018] Embodiments use labeled energy usage data to train a machine learning model. For example, a machine learning model, such as a neural network, can be designed / selected. Energy usage data can be obtained from multiple source locations (e.g., homes), where the energy usage data can be labeled with device-specific energy usage. For example, home energy usage values can cover a period of time, and energy usage values for individual devices (e.g., appliance 1, electric vehicle 1, appliance 2, etc.) during that period of time can be labeled. In some embodiments, this home and device-specific energy usage can then be processed to generate training data for the machine learning model.
[0019] In some embodiments, a machine learning model can be trained to predict (e.g., decompose) energy usage of a target device. For example, the training data may include energy usage specific to the target device at multiple different source locations (e.g., homes), so the machine learning model can be trained to identify trends in the training data and predict target device energy usage. In some embodiments, although the machine learning model is trained to predict target device energy usage, the training may include energy usage predictions / loss calculations / gradient updates for one or more other devices. For example, when implementing embodiments of training techniques for machine learning models (e.g., prediction generation, loss calculations, gradient propagation, accuracy improvement, etc.), a set of other devices may be included along with the target device.
[0020] In some embodiments, the set of other devices may be based on the training data and / or device-specific labeled data values available within the training data. For example, the availability of energy usage data for a source location that is labeled with device-specific energy usage may be limited. Embodiments include a correspondence between a set of other devices used within a technique for training a machine learning model and the labeled device-specific energy usage data values available in the training data. In other words, the labeled device-specific energy usage data values available in the training data may include labels for multiple different devices, there may be many different combinations of devices that appear within a given source location in the training data, and the frequency with which different devices appear together at the same source location may vary. The set of other devices used in the training technique may be based on the diversity of devices within the training data, the different combinations of devices at a given source location, and / or the frequency of occurrence of different combinations of devices.
[0021] In some embodiments, when training data for a set of other devices is used in conjunction with training data for a target device, the training technique can include both the target device and the set of other devices. This enables a trained machine learning model to use features learned from the set of other devices to more accurately predict the target device's energy usage / breakdown. In some embodiments, the correspondence between the set of other devices and the available training data further enhances the training / prediction / accuracy advantages achieved by including the set of other devices.
[0022] Embodiments use the total energy in a home, as provided by an advanced metering infrastructure (AMI), to accurately estimate or predict corresponding appliance-specific energy usage. The field of non-intrusive load monitoring (NILM) has garnered significant research interest, with insights such as those described in Hart, George W., “Nonintrusive appliance load monitoring,” Proceedings of the IEEE, vol. 80, no. 12, pp. 1870-1891, 1992. Accurate decomposition via NILM offers numerous advantages, including energy savings opportunities, personalization, and improved grid planning.
[0023] Embodiments utilize a deep learning approach that can accurately decompose the power loads of many energy-consuming devices, such as large household appliances and electric vehicles, based on a limited training set. Due to the diversity of energy-consuming devices, such as those in a typical household (e.g., large appliances and electric vehicles), and the diversity of their corresponding usage conditions, accurate decomposition can be challenging. Furthermore, in the field of NILM, the availability of training data can be limited. Therefore, a learning approach that can maximize the benefits of a training dataset may be particularly effective.
[0024] In embodiments, training data can be used to train a learning model designed to learn effectively under these challenging conditions. The AMI can provide input to the learning model as well as other types of input. Embodiments can accurately predict power equipment energy usage at high and low granularity / resolution (e.g., at 1 minute, 5 minutes, 15 minutes, 30 minutes, 1 hour, or longer).
[0025] Embodiments utilize a learning scheme for NILM designed for a target device decomposition, however one or more other non-target devices may be used within the learning scheme. For example, a subset of the training dataset may include labeled target device energy usage, which in turn results in a larger training set. In the NILM domain, metered training data may be limited, and the number of labeled devices at any given site within the dataset may be limited.
[0026] Conventional NILM implementations using existing learning schemes have their own shortcomings. Some of the previously considered proposed approaches are based on combinatorial optimization, Bayesian methods, hidden Markov models, or deep learning. However, many of these models are not useful in real-world scenarios due to various drawbacks. For example, some of these solutions are computationally expensive and therefore impractical. Others require high-resolution / granular inputs (e.g., AMI data or training data), which is often unavailable or impractical given deployed metering capabilities.
[0027] For example, one proposed approach focuses on multiple energy-consuming devices, but due to the limitation of requiring multiple labeled energy-consuming devices at the same source location (e.g., for effective training), this scenario cannot utilize the limited training dataset. This results in low utilization of the training dataset. Another proposed approach selects target devices from the training dataset but does not use other devices within the learning scenario. In this case, the limited number of devices participating in the learning limits the effectiveness of the system. Embodiments accurately solve the NILM problem under practical time and real-world constraints.
[0028] Embodiments efficiently utilize limited training data sets in the field by using target devices as well as non-target devices within the learning scheme. For example, learning (e.g., labeled energy usage, loss calculations, and gradient propagation) can be performed based on non-target devices, but invalid entries in the training data (such as missing labeled data) can be replaced with zero values instead of being discarded. This form of data curation also enables accurate decomposition predictions for target devices by utilizing data from non-target devices. For example, training can be performed on a curated / processed dataset. Embodiments can flexibly predict target device decomposition accurately. While training on a target device, the model can learn from other non-target devices, from a subset of the training data, or any combination thereof. This flexibility enables better utilization of training data and results in a higher level of accuracy in target device decomposition.
[0029] Embodiments may use data (e.g., training and / or input data) from any suitable meter (e.g., AMI or other meter), and the data utilized (e.g., training and / or input data) may have a low granularity, such as 15 minutes, 30 minutes, or one hour. Disaggregated energy usage forecasts for target devices may be useful for many reasons: providing energy savings opportunities for utilities and their customers; providing personalization opportunities; enabling better grid planning, including peak time demand management. For example, electric utilities may invest in technologies for disaggregating energy usage from large appliances or devices. Motivations for these investments include advances in AMI and smart grid technologies, growing interest in energy efficiency, customer interest in better information, etc.
[0030] Some embodiments implement the architecture on a deep learning framework including a convolutional neural network ("CNN"). The architecture is also scalable and can be customized for the size of the input and output. Features of the deep learning framework, such as initialization of layers, implemented optimizers, regularization of values, random dropout, etc., can be utilized, removed, or adjusted. In practice, many applications of CNNs are designed to recognize visual patterns (e.g., directly from images for classification). Examples include LeNet, AlexNet, ZFNet, GoogleNet / Inception, VGGNet, and ResNet. On the other hand, embodiments use a CNN architecture for predicting target device energy usage decomposition. For example, a CNN can be designed with multiple convolutional layers running in parallel with various kernel sizes and shapes. This design can be used to learn trends and other aspects of metered energy usage data (e.g., at a granularity of 1 minute, 5 minutes, 15 minutes, 30 minutes, 1 hour, or longer).
[0031] Some embodiments utilize multiple trained learning models to achieve higher prediction accuracy. For example, an ensemble approach can combine the outputs from multiple trained models. An embodiment implementing an ensemble approach can achieve better accuracy by combining multiple deep learning models designed to solve decomposition and detection / recognition problems. For example, the outputs of these models can be combined in multiple potential ways to achieve optimal accuracy. An embodiment solves two different but related problems on the same input: decomposition and detection / recognition. Separate models can be used to more efficiently solve each problem. The results of the decomposition and detection / recognition models can be combined in several ways: a) weighting detection / recognition; b) weighting decomposition; c) weighting each model equally (or substantially equally). For example, the specific way the two models are combined into the final output can be based on multiple factors: a threshold, the distance between the predicted outputs of each model, and the final output.
[0032] Embodiments train and build decomposition and detection / recognition models (e.g., for each target device). Depending on the distance between each model and each other (e.g., as measured by a distance metric) and the distance of each model from a labeled / known value, an ensemble / combination approach may be selected that: a) weights detection / recognition; b) weights decomposition; c) weights each model equally (or substantially equally). Some embodiments may augment the output with data values (e.g., thresholds), for example, based on inconsistencies between models. Implementations and results demonstrate improved decomposition predictions for multiple energy consuming devices (e.g., large household appliances and / or electric vehicles) when the models are combined into a final output.
[0033] Reference will now be made in detail to embodiments of the present disclosure, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth to provide a thorough understanding of the present disclosure. However, it will be apparent to one of ordinary skill in the art that the present disclosure may be practiced without these specific details. In other cases, well-known methods, processes, components, and circuits are not described in detail to avoid unnecessarily obscuring aspects of the embodiments. Wherever possible, identical reference numerals will be used for identical elements.
[0034] Figure 1A system for decomposing energy usage associated with target devices according to an example embodiment is shown. System 100 includes a source location 102, a meter 104, a source location 106, a meter 108, devices 110, 112, and 114, and a network node 116. Source location 102 can be any suitable location that includes or is otherwise associated with devices that consume or generate energy, such as a home having devices 110, 112, and 114. In some embodiments, devices 110, 112, and 114 can be appliances and / or electric vehicles that use energy, such as washing machines, dryers, air conditioners, heaters, refrigerators, televisions, computing devices, and the like. For example, source location 102 can be supplied with energy (e.g., electrical energy), and devices 110, 112, and 114 can draw from the energy supplied to source location 102. In some embodiments, source location 102 is a home and the home's energy is supplied by the grid, a local power source (e.g., solar panels), a combination of these, or any other suitable source.
[0035] In some embodiments, the meter 104 can be used to monitor energy usage (e.g., electricity usage) at the source location 102. For example, the meter 104 can be a smart meter, an advanced metering infrastructure ("AMI") meter, an automatic meter reading ("AMR") meter, a simple energy usage meter, etc. In some embodiments, the meter 104 can transmit information about energy usage at the source location 102 to a central energy system, a supplier, a third party, or any other suitable entity. For example, the meter 104 can implement two-way communication with the entity to transmit energy usage at the source location 102. In some embodiments, the meter 104 can implement one-way communication with the entity, wherein the meter reading is transmitted to the entity.
[0036] In some embodiments, meter 104 can communicate via a wired communication link and / or a wireless communication link and can utilize a wireless communication protocol (e.g., cellular technology), Wi-Fi, wireless ad hoc networks via Wi-Fi, wireless mesh networks, Low Power Long Range Wireless (“LoRa”), ZigBee, Wi-SUN, wireless LANs, wired LANs, etc. Devices 110, 112, and 114 (as well as other devices not depicted) can use energy at source location 102, and meter 104 can detect energy usage at the source location and report corresponding data (e.g., to network node 116).
[0037] In some embodiments, source location 106 and meter 108 may be similar to source location 102 and meter 104. For example, network node 116 may receive energy usage information about source location 102 and source location 106 from meter 104 and meter 106. In some embodiments, network node 116 may be part of a central energy system, supplier, power grid, analytics service provider, third-party entity, or any other suitable entity.
[0038] The following description includes recitation of one or more standards. These terms are used interchangeably throughout this disclosure, and a scope of multiple standards is intended to include a scope of one standard, and a scope of one standard is intended to include a scope of multiple standards.
[0039] Figure 2 is a block diagram of a computer server / system 200 according to an embodiment. All or part of the system 200 may be used to implement Figure 1 Any of the components shown in . Figure 2 As shown in FIG, system 200 may include a bus device 212 and / or other communication mechanism(s) configured to transmit information between various components of system 200, such as processor 222 and memory 214. In addition, communication device 220 may enable connectivity between processor 222 and other devices by encoding data to be sent from processor 222 to another device over a network (not shown) and decoding data received from another system over a network for processor 222.
[0040] For example, the communication device 220 may include a network interface card configured to provide wireless network communications. A variety of wireless communication technologies may be used, including infrared, radio, Wi-Fi and / or cellular communications. Alternatively, the communication device 220 may be configured to provide wired network connection(s), such as an Ethernet connection.
[0041] Processor 222 may include one or more general or special purpose processors to perform computational and control functions of system 200. Processor 222 may include a single integrated circuit, such as a microprocessing device, or may include multiple integrated circuit devices and / or circuit boards that work in concert to perform the functions of processor 222. In addition, processor 222 may execute computer programs stored in memory 214, such as operating system 215, predictive tools 216, and other applications 218.
[0042] The system 200 may include a memory 214 for storing information and instructions executed by the processor 222. The memory 214 may contain various components for retrieving, presenting, modifying, and storing data. For example, the memory 214 may store software modules that provide functionality when executed by the processor 222. The modules may include an operating system 215 that provides operating system functionality for the system 200. The modules may include the operating system 215, a prediction tool 216 that implements the NILM and decomposition functionality disclosed herein, and other application modules 218. The operating system 215 provides operating system functionality for the system 200. In some cases, the prediction tool 216 may be implemented as an in-memory configuration. In some implementations, when the system 200 performs the functionality of the prediction tool 216, it implements a non-conventional, special-purpose computer system that performs the functionality disclosed herein.
[0043] The non-transitory memory 214 may include a variety of computer-readable media that are accessible by the processor 222. For example, the memory 214 may include any combination of random access memory ("RAM"), dynamic RAM ("DRAM"), static RAM ("SRAM"), read-only memory ("ROM"), flash memory, cache memory, and / or any other type of non-transitory computer-readable media. The processor 222 is further coupled to a display 224, such as a liquid crystal display ("LCD"), via the bus 212. A keyboard 226 and a cursor control device 228, such as a computer mouse, are further coupled to the communication device 212 to enable a user to interface with the system 200.
[0044] In some embodiments, the system 200 may be part of a larger system. Thus, the system 200 may include one or more additional function modules 218 to include additional functionality. For example, the other application modules 218 may include Utility Customer Cloud Services, Cloud infrastructure, Cloud platform, Various modules of cloud applications. Prediction tools 216, other application modules 218, and any other suitable components of system 200 may include Data Science Cloud Services, Data integration services or other suitable Various modules of a product or service.
[0045] The database 217 is coupled to the bus 212 to provide centralized storage for the modules 216 and 218 and to store data received, for example, by the computer vision tool 216 or other data sources. The database 217 can store data in an integrated collection of logically related records or files. The database 217 can be an operational database, an analytical database, a data warehouse, a distributed database, an end-user database, an external database, a navigational database, an in-memory database, a document-oriented database, a real-time database, a relational database, an object-oriented database, a non-relational database, a NoSQL database, Distributed File System ("HFDS") or any other database known in the art.
[0046] Although shown as a single system, the functionality of the system 200 may be implemented as a distributed system. For example, the memory 214 and the processor 222 may be distributed across multiple different computers that collectively represent the system 200. In one embodiment, the system 200 may be part of a device (e.g., a smartphone, tablet, computer, etc.). In embodiments, the system 200 may be separate from the device and the disclosed functionality may be provided remotely to the device. Additionally, one or more components of the system 200 may not be included. For example, for functionality as a user or consumer device, the system 200 may be a smartphone or other wireless device that includes a processor, memory, and a display, but does not include a processor, memory, and display. Figure 2 One or more of the other components shown in Figure 2 Additional components not shown, such as antennas, transceivers, or any other suitable wireless device components.
[0047] Figure 3 A system for using a machine learning model to decompose energy usage associated with a target device according to an example embodiment is shown. System 300 includes input data 302, a processing module 304, a prediction module 306, training data 308, and output data 310. In some embodiments, input data 302 may include energy usage from a source location, and the data may be processed by processing module 304. For example, processing module 304 may process input data 302 to generate features based on the input data.
[0048] In some embodiments, prediction module 306 may be a machine learning module (e.g., a neural network) trained using training data 308. For example, training data 308 may include labeled data, such as data from multiple source locations (e.g., from Figure 1In some embodiments, the output from the processing module 304 (such as the processed input) can be fed as input to the prediction module 306. The prediction module 306 can generate output data 310, such as decomposed energy usage data for the input data 302. In some embodiments, the input data 302 can be source location energy usage data and the output data 310 can be decomposed energy usage data for the target device (or devices).
[0049] Embodiments use a machine learning model (such as a neural network) to predict the energy usage of a target device. A neural network may include multiple nodes called neurons that are connected to other neurons via links or synapses. Some implementations of neural networks may be targeted at classification tasks and / or may be trained under supervised learning techniques. In many cases, labeled data may include features that are helpful in achieving the prediction task (e.g., energy usage classification / prediction). In some embodiments, neurons in a trained neural network may perform small mathematical operations on given input data, where their corresponding weights (or correlations) may be used to generate operands (e.g., in part by applying nonlinearities) to be passed further into the network or given as output. A synapse may connect two neurons with corresponding weights / correlations. Figure 3 The prediction model 306 may be a neural network.
[0050] In some embodiments, a neural network can be used to learn trends within labeled energy usage data values (e.g., household energy usage data values labeled with device-specific energy usage over a period of time). For example, the training data can include features and these features can be used by a neural network (or other learning model) to identify trends and predict energy usage associated with a target device from the overall source location energy usage (e.g., decomposing the overall energy usage of the home to identify the energy usage of the target device). In some embodiments, once the model is trained / prepared, it can be deployed. This can be used with a variety of products or services (e.g., products or services) to implement the embodiments.
[0051] In some embodiments, the design of prediction module 306 can include any suitable machine learning model components (e.g., neural networks, support vector machines, specialized regression models, etc.). For example, a neural network can be implemented with a given cost function (e.g., for training / gradient calculations). A neural network can include any number of hidden layers (e.g., 0, 1, 2, 3, or more) and can include feedforward neural networks, recurrent neural networks, convolutional neural networks, modular neural networks, and any other suitable types.
[0052] Figure 4A-4B A sample convolutional neural network is shown in accordance with an example embodiment. Figure 4A CNN 400 includes layers 402, 404, 406, 408, and 410, and kernels 412, 414, and 416. For example, at a given layer of a convolutional neural network, one or more filters or kernels can be applied to the input data of the layer. In the illustrated embodiment, layers 402, 404, and 406 are convolutional layers, kernel 412 is applied to layer 402, kernel 414 is applied to layer 404, and kernel 416 is applied to layer 406. Depending on the shape of the filter or kernel applied (e.g., 1×1, 1×2, 1×3, 1×4, etc.), the manner in which the filter or kernel is applied (e.g., mathematical application), and other parameters (e.g., stride), the shape of the data and the underlying data values can change from input to output. Kernels 412, 414, and 416 are shown as one-dimensional kernels, but any other suitable shape can be implemented. In embodiments, kernels 412, 414, and 416 can have one consistent shape, two different shapes, or three different shapes (e.g., all kernels are different sizes).
[0053] In some cases, the layers of a convolutional neural network can be heterogeneous and can include different mixtures / sequences of convolutional layers, pooling layers, fully connected layers (e.g., similar to applying a 1×1 filter), etc. In the illustrated embodiment, layers 408 and 410 can be fully connected layers. Thus, CNN 400 illustrates an embodiment of a feed-forward convolutional neural network having multiple convolutional layers (e.g., implementing a one-dimensional filter or kernel) followed by a fully connected layer. Embodiments can implement any other suitable convolutional neural network.
[0054] Figure 4B The CNN 420 includes layers 422, 424, 426, 428, 430, and 432, and kernels 434, 436, and 438. The CNN 420 may be similar to Figure 4A CNN 400, but layers 422, 424, and 426 may be convolutional layers with parallel orientations, and layer 428 may be a concatenation layer that concatenates the outputs of layers 422, 424, and 426. For example, input from the input layer may be fed into each of layers 422, 424, and 426, where the outputs from these layers are concatenated at layer 428. In some embodiments, the concatenated output from layer 428 may be fed into layer 430, which may be a fully connected layer. For example, layers 430 and 432 may each be a fully connected layer, where the output from layer 432 may be a prediction generated by CNN 420.
[0055] In some embodiments, kernels 434, 436, and 438 may be similar to Figure 4A4. For example, kernels 434, 436, and 438 are shown as one-dimensional kernels, but any other suitable shape may be implemented. In embodiments, kernels 434, 436, and 438 may have one consistent shape, two different shapes, or three different shapes among them (e.g., all kernels are different sizes).
[0056] In some cases, the layers of a convolutional neural network can be heterogeneous and can include different mixtures / sequences of convolutional layers, pooling layers, fully connected layers (e.g., similar to applying a 1×1 filter), parallel layers, cascaded layers, etc. For example, layers 422, 424, and 426 can represent three parallel layers, but a greater or lesser number of parallel layers can be implemented. Similarly, the output from each of layers 422, 424, and 426 is depicted as input to layer 428, which is a cascaded layer in some embodiments, however, one or more of layers 422, 424, and 426 can include additional convolutional or other layers prior to the cascaded layer. For example, one or more convolutional or other layers can exist between layer 422 (e.g., a convolutional layer) and layer 428 (e.g., a cascaded layer). In some embodiments, another convolutional layer (with another kernel) can be implemented between layers 422 and 428, while no such intermediate layer is implemented for layer 424. In other words, in this example, the input to layer 422 may pass through another convolutional layer before being input to layer 428 (e.g., a cascade layer), while the input to layer 424 is directly output to layer 428 (without another convolutional layer).
[0057] In some embodiments, layers 422, 424, 426, and 428 (e.g., three parallel convolutional layers and one cascaded layer) may represent blocks within CNN 420, and one or more additional blocks may be implemented before or after the depicted blocks. For example, a block may be characterized by at least two parallel convolutional layers followed by a cascaded layer. In some embodiments, multiple additional convolutional layers (e.g., more than two) with various parallel structures may be implemented as blocks. CNN 420 illustrates an embodiment of a feed-forward convolutional neural network having multiple convolutional layers with a parallel orientation (e.g., implementing one-dimensional filters or kernels) followed by a fully connected layer. Embodiments may implement any other suitable convolutional neural network.
[0058] In some embodiments, the neural network can be configured for deep learning, for example, based on the number of hidden layers implemented. In some examples, a Bayesian network or other type of supervised learning model can be similarly implemented. For example, in some cases, a support vector machine can be implemented with one or more kernels (e.g., Gaussian kernel, linear kernel, etc.). In some embodiments, Figure 3The prediction module 306 can be a stack of multiple models, for example, the output of the first model is fed into the input of the second model. Some implementations may include multiple layers of prediction models.
[0059] In some embodiments, the model can be given test cases to calculate its accuracy. For example, a portion of the training data 308 / labeled energy usage data can be reserved for testing the trained model (e.g., rather than training the model). The accuracy measurement can be used to adjust the prediction module 306. In some embodiments, the accuracy assessment can be based on a subset of the training data / processed data. For example, a subset of the data can be used to assess the accuracy of the trained model (e.g., a ratio of 75% training data to 25% test data, etc.). In some embodiments, data can be randomly selected for testing and training segments within various iterations of testing.
[0060] In some embodiments, when tested, the trained model can output a predicted data value for the energy usage of a target device based on a given input (e.g., an instance of test data). For example, an instance of test data can be energy usage data for a given source location (e.g., a home) over a period of time, which includes the specific energy usage of the target device over the period of time as known labeled data values. Because the energy usage data value of the target device is known for a given input / test instance, the predicted value can be compared to the known value to generate an accuracy metric. Based on testing the trained model using multiple instances of test data, the accuracy of the trained model can be evaluated.
[0061] In some embodiments, the design of the prediction module 306 can be adjusted based on the accuracy calculation during training, retraining, and / or updating training. For example, the adjustment can include adjusting the number of hidden layers in the neural network, adjusting the kernel calculation (e.g., used to implement a support vector machine or neural network), etc. This adjustment can also include adjusting / selecting features used by the machine learning model, adjusting the processing of input data, etc. Embodiments include implementing various adjustment configurations (e.g., different versions of the machine learning model and features) while training / calculating accuracy in order to arrive at a configuration of the prediction module 306 that achieves the desired performance when trained (e.g., performs predictions at a desired level of accuracy, runs according to a desired resource utilization / time metric, etc.). In some embodiments, the trained model can be saved or stored for further use and for maintaining its state. For example, the training of the prediction module 306 can be performed "offline", and the trained model can then be stored and used as needed to achieve time and resource efficient data prediction.
[0062] Embodiments of the prediction module 306 are trained to decompose energy usage data within overall source location (e.g., home) energy usage data. NILM and / or decomposition refers to taking the total energy usage at a source location (e.g., energy usage at a home provided by an advanced metering infrastructure) as input and estimating the energy usage of one or more appliances, electric vehicles, and other devices that use energy at the source location. Figure 5A-5G A sample graph depicting decomposed energy usage data according to an example embodiment is shown. The data depicted in the sample graph represents an embodiment of a test of the decomposition techniques disclosed herein, such as a trained machine learning model that decomposes energy usage at an unseen source location (e.g., a home).
[0063] Figure 5A A graphical representation of total energy usage data, labeled energy usage data for a target device (i.e., an air conditioner), and predicted energy usage data for the target device (e.g., predicted by a trained embodiment of prediction module 306) is depicted. In the figure, time is represented on the x-axis, and energy usage (in kWh) is represented on the y-axis. The depicted data includes hourly granularity of measured data (e.g., total energy usage data and labeled energy usage data for the target device). Any other suitable granularity can be similarly implemented.
[0064] refer to Figure 5A , a comparison of the labeled energy usage data value (actual / measured data value) of the target device with the predicted energy usage data value of the target device indicates the accuracy of the trained prediction model. For example, the trained prediction model can receive the total energy usage data value (or processed version) (as input) and generate a graphical representation of the prediction. In some embodiments, the total energy usage data value can include the energy usage of the target device and multiple other devices. Figure 5A As depicted, the predicted disaggregated energy usage values for target devices are achieved with a high degree of accuracy over multiple days. Any other suitable data granularity, time period, or other suitable parameters may be implemented.
[0065] Figure 5B-5G A plurality of graphical representations are depicted of total energy usage data, labeled energy usage data for a target device, and predicted energy usage data for a target device. For example, Figure 5B-5G The diagram can be similar to that with different target devices Figure 5A Picture. Figure 5B The diagram depicts the predicted decomposition of a furnace target device (eg, an electric furnace). Figure 5C The figure depicts the prediction decomposition for the dryer target device (e.g., appliance). Figure 5D The figure depicts the forecast decomposition for the swimming pool pump target equipment. Figure 5EThe figure depicts the forecast decomposition for the water heater target device. Figure 5F The figure depicts the prediction breakdown for the refrigerator target device. Figure 5G The figure depicts the predicted decomposition of electric vehicle target equipment. Figure 5A-5G The predictions depicted in the diagram can utilize source location energy usage from a home that includes multiple appliances / devices that consume energy in addition to the target device of interest. The inputs used to generate the prediction decomposition (e.g., inputs to the learning module 306) can include energy usage data that has not been used in training. In other words, the trained learning module 306 generates predictions for input data that has not been previously seen.
[0066] In some embodiments, input data 302 and / or training data 308 may include information other than energy usage information. For example, weather information associated with the energy usage data (e.g., weather when the energy usage was measured, such as precipitation, temperature, etc.), calendar information associated with the energy usage data (e.g., calendar information when the energy usage was measured, such as month, date, day of the week, etc.), timestamps associated with the energy usage data, and other relevant information may be included in input data 302 and / or training data 308.
[0067] An embodiment processes energy usage data from a source location (e.g., a home) to generate training data 308 for training prediction module 306. For example, Figure 5A-5G The overall source location energy usage data values depicted in can be combined with labeled energy usage data values for one or more devices, and the resulting combination can be processed to obtain training data 308. In some embodiments, the energy usage data for the source location can be obtained via measurement (e.g., metering). In addition, measurement, metering, or some other technique for receiving / monitoring energy usage of specific devices within the source location can be implemented to generate device-specific labeled energy usage data for training. In other examples, energy usage data including source location energy usage and device-specific energy broken down within the source location can be obtained from a third party. For example, the training data can be obtained in any suitable manner, such as by monitoring the source location (e.g., a home) under known circumstances, obtaining a publicly (or otherwise) available data set, developing a joint venture or partnership that produces training data, and by any other suitable means.
[0068] Examples of energy usage data that may be processed to generate training data 308 include:
[0069] Table 1: Preprocessed source location energy usage data
[0070]
[0071]
[0072] A sample row of this example data includes the following columns: identifier, timestamp, total (energy usage), and tagged device-specific energy usage (air conditioner, electric vehicle, washing machine, dryer, dishwasher, refrigerator, etc.). This example includes a granularity of 15 minutes, but other suitable granularities (e.g., 1 minute, 5 minutes, 15 minutes, 30 minutes, 1 hour, several hours, etc.) can be similarly implemented. In some embodiments, processing energy usage data (e.g., to generate training data 308) can include reducing the granularity of the data, such as so that it can be used to generate a training corpus with a consistent granularity (e.g., 1 hour). Such granularity reduction can be achieved by summing the data usage values within the components that make up the time unit (e.g., summing the data usage values within the four 15-minute intervals that make up one hour).
[0073] Embodiments include determining a set of devices to be included in training data 308. For example, training of prediction module 306 can be configured to generate factored predictions for a target device; however, training can also utilize labeled data usage for a set of other devices in addition to the target device. In some embodiments, the set of other devices can be based on energy usage data and / or device-specific labeled data values available for training purposes. Training data is often limited, so training techniques that utilize available training data are often beneficial.
[0074] Embodiments include a correspondence between a set of other devices used within a technique for training a machine learning model and the labeled device-specific energy usage data values available in the training data. In other words, the labeled device-specific energy usage data values available in the training data may include labels for multiple different devices, there may be many different combinations of devices that appear within a given source location in the training data, and the frequency with which different devices appear together at the same source location may vary. The set of other devices used within the training technique can be based on the diversity of devices within the training data, the different combinations of devices at a given source location, and / or the frequency of occurrence of different combinations of devices.
[0075] Thus, multiple different variations of training data 308 can be generated by processing the pre-processed energy usage data from Table 1 above. Table 2 shows an example of processing energy usage data to generate training data 308, which includes a timestamp, total source location energy usage, and labeled energy usage for a single target device (electric vehicle).
[0076] Table 2: Preprocessed data for the target device, an electric vehicle (EV), with no additional input devices
[0077]
[0078]
[0079] In some embodiments, preprocessing may include selecting a subset of columns, a subset of rows, aggregation (or some other mathematical / combinatorial function) of the data, and other suitable processing from Table 1. For example, data cleaning, normalization, scaling, or other processing to present the data suitable for machine learning may be performed.
[0080] Table 3 shows an example of processing energy usage data to generate training data 308, which includes a timestamp, total source location energy usage, labeled energy usage of the target device (electric vehicle), and labeled energy usage of the additional device (air conditioner).
[0081] Table 3: Preprocessed data for target device EV and 1 additional input device AC
[0082] time total AC EV 2019-06-01 00:00:00 0.91 0.33 0.0 2019-06-01 00:00:15 3.52 0.41 2.91 2019-06-01 00:00:30 3.95 0.0 3.33 2019-06-01 00:00:45 3.26 0.0 2.83 2019-06-01 01:00:00 0.86 0.0 0.58 2019-06-01 01:00:15 0.55 0.0 0.0 2019-06-01 01:00:30 0.67 0.0 0.0 2019-06-01 01:00:45 0.52 0.0 0.0 2019-06-01 02:00:00 0.44 0.0 0.0 2019-06-01 02:00:15 0.63 0.0 0.0 2019-06-01 02:00:30 0.72 0.0 0.0
[0083] Table 4 shows an example of processing energy usage data to generate training data 308, which includes a timestamp, total source location energy usage, labeled energy usage of the target device (electric vehicle), and labeled energy usage of three additional devices (air conditioner, washing machine, and dryer).
[0084] Table 4: Preprocessed data of target device EV and 3 additional input devices (AC, washing machine and dryer)
[0085] time total AC EV washing machine dryer 2019-06-01 00:00:00 0.91 0.33 0.0 0.0 0.0 2019-06-01 00:00:15 3.52 0.41 2.91 0.0 0.0 2019-06-01 00:00:30 3.95 0.0 3.33 0.0 0.0 2019-06-01 00:00:45 3.26 0.0 2.83 0.0 0.0 2019-06-01 01:00:00 0.86 0.0 0.58 0.0 0.0 2019-06-01 01:00:15 0.55 0.0 0.0 0.0 0.0 2019-06-01 01:00:30 0.67 0.0 0.0 0.0 0.0 2019-06-01 01:00:45 0.52 0.0 0.0 0.0 0.0 2019-06-01 02:00:00 0.44 0.0 0.0 0.0 0.0 2019-06-01 02:00:15 0.63 0.0 0.0 0.0 0.0 2019-06-01 02:00:30 0.72 0.0 0.0 0.0 0.0
[0086] In the example shown here, devices with null values in Table 1 are included in Table 4, but the null values have been replaced with zero values. The null values for washers and dryers presented in Table 1 indicate that the source location energy usage data from Table 1 does not include labeled energy usage data for washers and dryers. In other words, labeled energy usage data for washers and dryers is not available within the overall source location energy usage data (represented in Table 1), for example, due to limitations in the training corpus, measurement / metering equipment, or other circumstances.
[0087] In some embodiments, processing device-specific labeled energy usage data for source locations may include replacing null values (or any other placeholder values) with zero values. For example, when it is determined that a particular device will be used in a training technique for a given implementation of the prediction module 306 and some of the energy usage data is missing labeled device-specific energy usage for the particular device (at one or more source locations), the missing labeled energy usage values for the particular device may be replaced with zero values. As further discussed herein, it may be determined that certain devices will participate in a training technique for a given implementation even when the training corpus does not include a comprehensive set of labeled energy usage data for those devices. Embodiments replace null values with zero values to take advantage of available training data, to utilize one or more devices other than the target device for learning purposes, and to generally improve machine learning performance.
[0088] Table 5 shows an example of processing energy usage data to generate training data 308, which includes a timestamp, total source location energy usage, labeled energy usage of the target device (electric vehicle), and labeled energy usage of four additional devices (air conditioner, washing machine, dryer, and refrigerator).
[0089] Table 5: Preprocessed data of the target device EV and four additional input devices (AC, washing machine, dryer, and refrigerator)
[0090]
[0091]
[0092] In the example shown in Table 5 for the source location, the target device is accompanied by two devices with labeled energy usage data (e.g., an air conditioner and a refrigerator) and two devices that do not include labeled energy usage data (e.g., a washing machine and a dryer), where the two devices without labeled energy usage data have been processed to reflect a zero energy usage data label. Table 6 shows an example of processing energy usage data to generate training data 308, which includes a timestamp, total source location energy usage, labeled energy usage of the target device (an electric vehicle), and labeled energy usage of five additional devices (an air conditioner, a washing machine, a dryer, a dishwasher, and a refrigerator).
[0093] Table 6: Preprocessed data of the target device EV and five additional input devices (AC, washing machine, dryer, dishwasher, and refrigerator)
[0094]
[0095]
[0096] In the example shown in Table 6 for a source location, the target devices are two devices with labeled energy usage data (e.g., an air conditioner and a refrigerator) and three devices without labeled energy usage data (e.g., a dishwasher, a washing machine, and a dryer). The three devices without labeled energy usage data have been processed to reflect a zero energy usage data label. As shown in Tables 2-6, processing energy usage data for a given source location that includes labeled energy usage data for some devices can generate different variations of training data. Embodiments can utilize one or more of these variations to train machine learning models and achieve beneficial results.
[0097] For example, a given implementation of the training module 306 may involve several factors. The implementation may be intended to decompose the energy usage of a single target device, but several other factors related to the available training data may be at issue, such as the availability of overall energy usage data including labeled energy usage data for the target device at different source locations, the number and diversity of other devices with available labeled energy usage data that are collocated with the target device at different source locations, the granularity of the available energy usage data, and other relevant factors. Therefore, the implementation of achieving the desired prediction result may involve using labeled energy usage data for the target device, labeled energy usage data for a set of other devices, and energy usage data set to zero for certain devices in the set of other devices in the portion of the training data. Therefore, the specific variant of the processed training data represented in Tables 2-6 that achieves the desired result is based on the available training data and its related factors. In other words, the set of devices to be utilized within the training data can be determined, for example, based on the available energy usage data with labeled device-specific energy usage values.
[0098] In some embodiments, the set of other devices that will participate in the training may meet certain criteria relative to the available training data. For example, the available training data may include energy usage values for multiple source locations (e.g., homes), and the energy usage for a majority of these source locations may include labeled energy usage from the target device and labeled energy usage from at least one device in the set of other devices. In another example, the set of other devices may be determined so that at least a threshold number (e.g., a minimum number) of other devices are used within the training technique. In some embodiments, the set of other devices may be determined so that any given instance of the training data (e.g., a row of training data) includes no more than a threshold number (e.g., no more than 0, 1, 2, 3, etc.) of other devices whose energy usage data values are set to zero. In some embodiments, the set of other devices may be determined to be an empty set, for example based on limitations presented by the training data.
[0099] In some embodiments, a set of other devices is determined such that an amount of training data used to train a machine learning model based on the set of other devices meets a criterion. For example, a set of other devices can be determined such that at least a threshold number (e.g., a minimum number) of training instances (e.g., rows of training data) are useful for training. In another example, a set of other devices is determined such that an amount of device-specific energy usage data values that are marked as zero meets a criterion (e.g., is less than a threshold percentage of the training data, such as 5%, 10%, 15%, 20%, 30%, 40%, 50%, etc.).
[0100] Embodiments may also include training and implementation techniques for implementing other correspondences between the training data and a set of other devices. For example, a majority of instances of the training data (e.g., rows of training data) may include added zero-labeled energy usage values (based on the absence of a set of other devices at the home or in the dataset). In another example, a majority of instances of the training data may include non-zero-labeled energy usage values for the target device. In another example, a majority of instances of the training data may include non-zero-labeled energy usage values for the target device and at least one device in the set of other devices. In another example, at least some instances of the training data may include added zero-labeled energy usage values for the target device. In another example, each device in the set of other devices may have non-zero-labeled energy usage values in at least a threshold amount (e.g., 10%, 20%, 30%, etc.) of the training data instances. In another example, one or more instances of the training data may include non-zero-labeled energy usage values for the target device and at least two devices in the set of other devices. Training techniques and a set of other devices may be implemented to implement any, most, one, or a combination of these correspondences, or any other suitable correspondence may be implemented.
[0101] In some embodiments, when training data for a set of other devices is used in conjunction with training data for a target device, training techniques (e.g., prediction generation, loss calculation, gradient propagation, accuracy improvement, etc.) can be implemented using the target device and the set of other devices. For example, post-processed training data can be used to train a machine learning model to predict the energy usage of a target device from the energy usage of a source location (e.g., a home). In some embodiments, input data (such as source location energy usage data over a period of time) can be received, processed, and fed into a trained machine learning model to generate a prediction of how much energy a target device uses out of the energy used at the source location.
[0102] In some embodiments, when a determined set of other devices is used to train a machine learning model, the predictions generated by the trained model can include decomposed predictions for the target device and predictions generated for a set of other devices (e.g., non-target devices). For example, the predictions generated for the non-target devices can be useful in computing accuracy metrics and training models (e.g., based on labeled device-specific energy usage for the set of other devices). In some embodiments that focus on decomposed predictions for the target device, the generated predictions for the set of other devices can be discarded. For example, these embodiments take advantage of the benefits of using other devices for training, and these benefits improve the decomposed predictions for the target device.
[0103] In some embodiments, the processed version of the training data can be used to train a convolutional neural network to decompose target device energy usage. Figure 4A , CNN 400 includes layers 402, 404, and 406, which may be convolutional layers, and layers 408 and 410, which may be fully connected layers. Kernel 412, shown as having a 1×a shape, may be applied to layer 402, kernel 414, shown as having a 1×b shape, may be applied to layer 404, and kernel 416, shown as having a 1×c shape, may be applied to layer 406. In some embodiments, the shapes of kernels 412, 414, and 416 may be adjusted during training / configuration of CNN 400, and thus these shapes may take any suitable shape that achieves effective performance for the decomposition task.
[0104] Similarly, reference Figure 4B , CNN 420 includes layers 422, 424, and 426, which may be convolutional layers, layer 428, which may be concatenated layers, and layers 430 and 432, which may be fully connected layers. Kernel 434, shown as having a 1×a shape, may be applied to layer 422, kernel 436, shown as having a 1×b shape, may be applied to layer 434, and kernel 438, shown as having a 1×c shape, may be applied to layer 426. In some embodiments, the shapes of kernels 434, 436, and 438 may be adjusted during training / configuration of CNN 420, and thus these shapes may take any suitable shape that achieves effective performance for the decomposition task.
[0105] In some embodiments, the shape of kernels 412, 414, and 416 can change the shape of the data as it passes through layers 402, 404, and 406, respectively. For example, the application of kernels 412, 414, and 416 can change the shape of the input data as it passes through layers 402, 404, and 406. In some embodiments, the shape of the data passing through layers 402, 404, and 406 is based on the shape of kernels 412, 414, and 416, the stride of each kernel, and the padding implemented. For example, padding can include adding zeros to the data (e.g., to the top, bottom, left, and / or right of the data). In some embodiments, for one or more of layers 412, 414, and 416, the combination of kernel shape, stride, and padding can produce a convolution of the same / original size that does not change the shape of the data.
[0106] Similarly, the shapes of kernels 434, 436, and 438 can change the shape of the data as it passes through layers 422, 424, and 426, respectively. For example, the application of kernels 434, 436, and 438 can change the shape of the input data as it passes through layers 422, 424, and 426. In some embodiments, the shape of the data passing through layers 422, 424, and 426 is based on the shapes of kernels 434, 436, and 438, the stride of each kernel, and the padding implemented. In some embodiments, for one or more of layers 434, 436, and 438, the combination of kernel shape, stride, and padding can produce a convolution of the same / original size that does not change the shape of the data.
[0107] As discussed above, embodiments predict the energy usage breakdown of a target device, however, a set of other devices (e.g., non-target devices) may also participate in the learning techniques (e.g., prediction, loss calculation, gradient propagation). Embodiments implementing a CNN may use the training data, loss calculation, and gradient propagation of non-target devices to configure weights / values for kernels implemented at different layers. This training / configuration of the CNN produces neurons trained on non-target devices that can effectively improve the accuracy of predictions for target devices.
[0108] In some embodiments, multiple machine learning models may be trained and the outputs of these models may be combined to achieve a predicted energy usage breakdown for a target device. Figure 6 A flow chart for decomposing energy usage associated with a target device using multiple machine learning models is shown according to an example embodiment.
[0109] System 600 includes input data 602, a processing module 604, prediction modules 606 and 610, training data 608 and 612, a combination module 614, and an output 616. In some embodiments, input data 602 may include energy usage from a source location and the data may be processed by processing module 604. For example, processing module 604 may process input data 602 to generate features based on the input data. In some embodiments, input data 602 and processing module 604 may be similar to Figure 3 Input data 302 and processing module 304.
[0110] In some embodiments, prediction modules 606 and 610 may be machine learning modules (e.g., neural networks) trained by training data 608 and 612, respectively. For example, training data 608 may include labeled data, such as from multiple source locations (e.g., Figure 1 In some embodiments, the output from the processing module 604 (such as the processed input) can be fed as input to the prediction modules 606 and 610. In some embodiments, the prediction modules 606 and 610 can be similar to Figure 3 The prediction module 306.
[0111] In some embodiments, training data 608 can train prediction module 606 to predict the decomposed energy usage of a target device, while training data 612 can train prediction module 610 to predict energy usage above a threshold for a target device. For example, training data 608 used to train prediction module 606 to generate decomposed predictions can include labeled energy usage data with the amount of energy used (e.g., over a time span). In other words, the labeled device-specific energy usage data of training data 608 reflects the amount of energy used, such as the energy amounts shown in Tables 1-6 above.
[0112] In some embodiments, the training data 612 used to train the prediction module 610 to generate the detection predictions may include detected energy usage (e.g., over a time span). In other words, the labeled device-specific energy data within the training data 612 may indicate whether energy usage exceeds a threshold (e.g., a binary value representing ON or OFF). In some embodiments, the training data 612 may be generated by setting any labeled device-specific energy usage value above the threshold to 1 and any labeled device-specific energy usage value below the threshold to 0. For example, the labeled device-specific energy usage of the training data 612 may not include the amount of energy used by the labeled device (e.g., instead including a binary 1 or 0).
[0113] The prediction module 606 can generate a predicted decomposed energy usage for the target device based on the input data 602 and the prediction module 610 can generate a detection prediction for the target device based on the input data 602. These predictions from the prediction modules 606 and 610 can be input to a combination module 614, which can generate a combined decomposed prediction for the target device as output 616. In some embodiments, such as when the detection prediction is inconsistent with the decomposed prediction, the combination module 614 combines the decomposed prediction from the prediction module 606 and the detection prediction from the prediction module 610 by adding a value to the predicted decomposition for the target device based on the detection prediction.
[0114] For example, if the prediction module 606 generates little or no predicted energy usage for the target device during a given time period (e.g., one hour) and the prediction module 610 generates a prediction that the target device is using energy during this time period (e.g., a prediction of 1 indicating that the target device is on and using energy), the combination module 614 can enhance the decomposition prediction by adding an energy usage value (e.g., a threshold or predetermined amount of energy usage value) to the predicted decomposition for the time period. Similarly, if the prediction module 606 generates a large number of predicted energy usage values (e.g., energy usage values above a threshold) for the target device during a given time period (e.g., one hour) and the prediction module 610 generates a prediction that the target device is not using energy during this time period (e.g., a prediction of 0 indicating that the target device is off and not using energy), the combination module 614 can enhance the decomposition prediction by subtracting an energy usage value (e.g., a threshold or predetermined amount of energy usage value) from the predicted decomposition for the time period.
[0115] In some embodiments, the combination module 614 can use a weighting algorithm to combine the decomposition prediction from the prediction module 606 and the detection prediction from the prediction module 610. For example, the prediction module 610 can generate a detection prediction (e.g., by indicating ON / OFF) for the usage time of the target device, such as at a granularity of 1 minute, 5 minutes, 15 minutes, 30 minutes, 45 minutes, 1 hour, or other similar granularity. The prediction module 606 can generate a decomposition prediction that estimates how much energy the target device uses, such as at a granularity of 1 minute, 5 minutes, 15 minutes, 30 minutes, 45 minutes, 1 hour, or other similar granularity.
[0116] The combining module 614 can implement a general weighting scheme that uses parameters to bias one prediction relative to another. For example, one or more parameters can be used to configure weights (e.g., alpha and / or beta weights, and first and second thresholds) when combining the generated predictions. In this example, the degree to which the decomposition prediction is enhanced by the detection prediction is configured based on the values of these parameters. In some embodiments, consistency between the decomposition prediction and the detection prediction can be sought. For example, sometimes the decomposition prediction may predict energy usage of a target device, while the detection prediction indicates that the device is OFF. Similarly, sometimes the decomposition prediction may predict no energy usage of a target device, while the detection prediction indicates that the device is ON.
[0117] In some embodiments, one or more thresholds can be configured to enhance the decomposition prediction when there is an inconsistency with the detection prediction. For example, when the detection prediction indicates that the target device is on but the decomposition prediction does not include predicted energy usage for a relevant time period (e.g., for a relevant 15 minute, 30 minute, 45 minute, or 1 hour time window), a first threshold amount of energy usage can be added to the decomposition prediction. In this example, if the decomposition prediction includes predicted energy usage that is below the first threshold, the enhancement can include raising the predicted energy usage to the first threshold. Similarly, when the detection prediction indicates that the target device is off but the decomposition prediction includes predicted energy usage that is greater than a second threshold for a relevant time period, the predicted energy usage from the decomposition prediction can be reduced to a second threshold amount of energy usage.
[0118] In some embodiments, one or more weighting parameters (e.g., alpha and beta weights) may be used to adjust the extent to which the energy usage value of the decomposition forecast is enhanced by the detection forecast. For example, the alpha weight may be associated with a first threshold, and the weight may control the amount of energy usage that is added to the decomposition forecast. In an example implementation, if the alpha weight is set to "1," the energy usage within the relevant time window within the decomposition forecast may be raised to the first threshold, and if the weight is set to "0," no energy usage will be added. Intermediate values of the alpha weight between "1" and "0" may add energy usage proportional to the weight. For example, a "0.5" weight may raise the energy usage to half the first threshold, or an increment between the first threshold and the energy usage within the decomposition forecast for the relevant time period may be determined, and energy usage equal to "0.5" times the increment may be added.
[0119] Similarly, a beta weight can be associated with a second threshold, and the weight can control the amount of reduction in energy usage from the decomposition forecast. In an example implementation, if the beta weight is set to "1," energy usage within the relevant time window within the decomposition forecast can be reduced to the second threshold, and if this weight is set to "0," energy usage will not be reduced. Intermediate values of the beta weight between "1" and "0" can reduce energy usage proportional to the weight. For example, a "0.5" weight can reduce energy usage to 2x the second threshold, or a delta between the second threshold and the energy usage within the decomposition forecast for the relevant time period can be determined, and energy usage equal to "0.5" times the delta can be subtracted from the decomposition forecast. In some embodiments, one or any combination of these parameters (e.g., α, β, first threshold, and / or second threshold) can be implemented, or any other suitable weighting scheme can be implemented.
[0120] In some embodiments, the combination module 614 may include a third machine learning model that is trained / configured to combine the decomposition predictions and the detection predictions. For example, the third trained machine learning model may be trained to use the decomposition predictions and the detection predictions to predict the energy usage of the target device. In some embodiments, the decomposition predictions and the detection predictions are combined using predictions generated by the third trained machine learning model. For example, the training data for the third machine learning model may include the decomposition predictions, the detection predictions, and the labeled (known) energy usage of the target device. In this example, the inputs to the third machine learning model include the decomposition predictions and the detection prediction outputs, and thus the training data includes these predictions together with the labeled (known) energy usage data, so that loss and gradient calculations can be performed during training.
[0121] In some embodiments, the training data / input to the third machine learning model may also include overall source location (e.g., home) energy usage. For example, this overall source location energy usage is part of the training data used to train prediction modules 606 and 610, and is also used as input to prediction modules 606 and 610 to generate decomposition predictions and detection predictions. When the decomposition predictions and detection predictions are combined, the third trained machine learning model can find that trends from the overall source location energy usage affect accuracy. Therefore, when training the third machine learning model, the overall source location energy usage can be used to learn how to combine these predictions. Similarly, when generating a combined prediction for combining the decomposition predictions and detection predictions, both these predictions and the overall source location energy usage can be used as input.
[0122] In some embodiments, the third machine learning model can be a deep learning model, such as a deep learning model based on multiple hidden layers implemented. In some embodiments, the decomposition prediction and the detection prediction are combined by the combination module 614 using a decision tree, a random forest algorithm, Bayesian learning, or other suitable combination techniques.
[0123] Figure 7 A flow chart for training a machine learning model to decompose energy usage associated with a target device is shown in accordance with an example embodiment. In some embodiments, Figure 7-11 The functions of may be implemented by software stored in a memory or other computer-readable or tangible medium and executed by a processor. In other embodiments, each function may be performed by hardware (e.g., through the use of an application specific integrated circuit (“ASIC”), a programmable gate array (“PGA”), a field programmable gate array (“FPGA”), etc.), or by any combination of hardware and software. In an embodiment, Figure 7-11 The function can be Figure 2 The system 200 may be implemented by one or more components of the system 200.
[0124] At 702, energy usage data including energy usage of target devices and one or more non-target devices at a plurality of source locations may be received. For example, the energy usage data may be similar to the data shown in Table 1 above. In some embodiments, the received data may include a timestamp, overall energy usage at the source location (e.g., a home) (including energy used by the plurality of devices), and tagged device-specific energy usage for the one or more target and non-target devices. The energy usage data may be received by monitoring energy usage, from a third party, through a joint venture, or through any other suitable channel or entity.
[0125] At 704, a machine learning model can be configured. For example, a machine learning model such as a neural network, a CNN, an RNN, a Bayesian network, a support vector machine, or any other suitable machine learning model can be configured. Parameters such as the number of layers (e.g., the number of hidden layers), input shape, output shape, width, depth, direction (e.g., feedforward or bidirectional), activation function, type of layer or unit (e.g., gated recurrent unit, long short-term memory, etc.), or other suitable parameters for the machine learning model can be selected. In some embodiments, these configured parameters can be adjusted (e.g., tweaked, completely changed, added, or removed) while training the model.
[0126] In some embodiments, the machine learning model may include a CNN. In this case, parameters such as the type of layer (e.g., convolutional, pooling, fully connected, etc.), kernel size and type, stride, and other parameters may also be configured. These configured parameters may also be adjusted when training the model.
[0127] At 706, the energy usage data can be processed to generate training data. For example, the energy usage data can be processed based on the target device and a set of other devices (e.g., one or more non-target devices) to generate training data. The processing can be based on a correspondence between the energy usage data (e.g., the availability of device-specific energy usage data for various devices within the energy usage data) and the set of other devices. In some embodiments, the set of other devices can be selected based on the available energy usage data and / or the target device, the energy usage data for generating training data can be selected based on the set of other devices and / or the target device, or the set of other devices and the energy usage data can be considered in combination and both can be selected based on a correspondence therebetween (e.g., that is beneficial for training / performance).
[0128] In some embodiments, a set of other devices is determined based on the energy usage of multiple households within the training data. The number of other devices within the set of other devices can also be based on the energy usage of multiple households within the training data. In some embodiments, a set of other devices is determined based on known energy usage values for a set of other devices within the energy usage of multiple households within the training data. The set of other devices can be determined such that an amount of training data configured to train a machine learning model given the set of other devices satisfies a criterion (e.g., a threshold amount).
[0129] In some embodiments, based on the target device and a set of other devices participating in training, energy usage data can be processed to augment the data with zero energy usage values. For example, an instance (e.g., a row) of data can include a timestamp, the overall energy usage at the source location, and a variety of labeled device-specific energy usage. When the target device or any device in the set of other devices is not included in the labeled device-specific energy usage of the instance, zero values can be filled in these missing (or otherwise invalid) entries. In some embodiments, the training data can be processed so that for a given source location (e.g., a home) whose energy usage does not include labeled energy usage from a subset of the set of other devices, the labeled energy usage of the subset of other devices is set to zero. This processing allows for efficient utilization of the available training data, as the learning mechanism can still learn from the majority of the training data. Furthermore, the correspondence between the energy usage data and the set of other devices selected for participation in learning mitigates any potential learning issues that may arise from the insertion of zero values.
[0130] At 708, the generated training data can be used to train a machine learning model to predict the disaggregated energy usage of the target device. Training can include generating predictions, calculating losses (e.g., based on a loss function), and propagating gradients (e.g., through layers / neurons of the machine learning model). As discussed herein, both the labeled energy usage of the target device and the labeled energy usage of a set of other devices are used to train the machine learning model.
[0131] In some embodiments, the trained machine learning model is trained using energy usage values for multiple households, labeled energy usage values for a target device, and labeled energy usage values for a set of other devices. The training data used to train the machine learning model may include energy usage profiles from multiple households, labeled energy usage values for the target device within the household's energy usage profiles, and labeled energy usage values for a set of other devices within the household's energy usage profiles. In some embodiments, the training of the machine learning model may optimize the accuracy of predicting the energy usage value of the target device.
[0132] In some embodiments, the training data, including energy usage values from multiple homes, labeled energy usage values for the target device, and labeled energy usage values for a set of other devices, has a granularity that is substantially hourly. Other suitable granularities (e.g., 1 minute, 15 minutes, 30 minutes, 45 minutes, etc.) can be similarly implemented. In some embodiments, the machine learning model, the utilized training data, and / or the set of other devices can be adjusted based on the training results. For example, testing of the trained model can indicate the accuracy of the trained model, and various adjustments can be made based on the test accuracy.
[0133] The trained machine learning model can be stored at 710. For example, a trained learning model that generates predictions that meet a criterion (e.g., an accuracy criterion or threshold) can be stored so that the stored model can be used to perform decomposition prediction.
[0134] Figure 8 A flow chart is shown for predicting disaggregated energy usage associated with a target device using a trained machine learning model according to an example embodiment. Figure 7 The machine learning model trained with the function can be used to perform Figure 8 function.
[0135] At 802, home energy usage data can be received over a period of time, where the home energy usage includes energy consumed by a target device and energy consumed by a plurality of other devices. For example, the home energy usage data can be broken down into time intervals based on timestamps (e.g., at substantially hourly granularity) over a period of time (such as a day). Other suitable granularities can be implemented.
[0136] At 804, the received energy usage data can be processed. For example, the processing can be similar to the processing of the training data. In such an example, the processing can modify the household energy usage input data to resemble the training data so that the trained machine learning model can achieve enhanced prediction results. The processing can include implementing hourly granularity for the energy usage data, normalization, other forms of scaling, and any other suitable processing.
[0137] At 806, the processed data may be provided as input data to a trained machine learning model. Figure 7 The trained model may be trained using the function of the machine learning model, and the processed data may be provided as input to the trained model. At 808, a prediction may be generated by the trained machine learning model. For example, the trained machine learning model may be used to predict the energy usage of the target device based on the received overall energy usage.
[0138] In some embodiments, the predictions can have a granularity similar to the inputs provided to the trained model. For example, the predicted energy breakdown of the target device can have a substantially hourly granularity. In some embodiments, the predicted energy usage includes the predicted energy usage of the target device for at least one day at least at a substantially hourly granularity.
[0139] Figure 9 A flow chart is shown for predicting disaggregated energy usage associated with a target device using a trained convolutional neural network according to an example embodiment. Figure 7 The convolutional neural network trained with the function can be used to perform Figure 9 function.
[0140] In some embodiments, Figure 7 The function can be used to train a CNN with a mixture of convolutional layers and fully connected layers. For example, a CNN can include multiple convolutional layers followed by one or more fully connected layers. A CNN can be similar to Figure 4A and / or Figure 4B For example, one of the CNN layers may be a convolutional layer with a one-dimensional kernel of a first size, and another of the CNN layers may be a convolutional layer with a one-dimensional kernel of a second size. In some embodiments, the first size is smaller than the second size. In some embodiments, at least two of the CNN layers may be parallel convolutional layers, and a cascade layer may be used to cascade parallel branches within the CNN, such as Figure 4BIn such an embodiment, the parallel branches can be configured to learn different features of the input / training data. For example, the kernel size, stride, and padding implemented for a first branch in the parallel branches can be different from the kernel size, stride, and padding implemented for a second branch in the parallel branches.
[0141] At 902, input data including energy usage data at a source location over a period of time may be received. For example, the source location may be a home, and the home energy usage may include energy consumed by a target device and energy consumed by a plurality of other devices. For example, the source location energy usage may be broken down into time intervals based on timestamps (e.g., at substantially hourly granularity) over a period of time (such as a day).
[0142] At 904, the received energy usage data can be processed. For example, the processing can be similar to the processing of the training data. In such an example, the processing can modify the source location energy usage input data to resemble the training data so that the trained machine learning model can achieve enhanced prediction results. The processing can include implementing hourly granularity for the energy usage data, normalization, other forms of scaling, and any other suitable processing.
[0143] At 906, the processed data may be provided as input data to a trained convolutional neural network. For example, the trained convolutional neural network may be stored according to Figure 7 A convolutional neural network is trained based on the function of the trained convolutional neural network, and the processed data can be provided as input to the trained network. At 908, a prediction can be generated by the trained convolutional neural network. For example, a decomposed energy usage of a target device based on the received overall energy usage can be predicted by the trained convolutional neural network. In some embodiments, predicting the decomposed target device energy usage includes at least a feed-forward progression of the input data through the trained CNN such that the shape of the input data is changed between a first layer (having a first one-dimensional kernel) and a second layer (having a second one-dimensional kernel). In some embodiments, the first layer and the second layer include parallel orientations within the CNN.
[0144] In some embodiments, the predictions can have a granularity similar to the inputs provided to the trained network. For example, the predicted energy breakdown of the target device can have a substantially hourly granularity. In some embodiments, the predicted energy usage includes the predicted energy usage of the target device for at least one day at least at a substantially hourly granularity.
[0145] Figure 10A flow chart for training multiple machine learning models to decompose energy usage associated with target devices is shown in accordance with an example embodiment. At 1002, energy usage data including energy usage of target devices and one or more non-target devices at multiple source locations may be received. For example, the energy usage data may be similar to the data shown in Table 1 above. In some embodiments, the received data may include a timestamp, overall energy usage at the source location (e.g., a home) (which includes energy used by multiple devices), and tagged device-specific energy usage for one or more of the target and non-target devices. The energy usage data may be received by monitoring energy usage, from a third party, on a joint venture basis, or through any other suitable channel or entity.
[0146] At 1004, a first machine learning model and a second machine learning model can be configured. For example, a machine learning model such as a neural network, a CNN, an RNN, a Bayesian network, a support vector machine, or any other suitable machine learning model can be configured. Parameters such as the number of layers (e.g., the number of hidden layers), input shape, output shape, width, depth, direction (e.g., feedforward or bidirectional), activation function, type of layer or unit (e.g., gated recurrent unit, long short-term memory, etc.), or other suitable parameters for the machine learning model can be selected. In some embodiments, these configured parameters can be adjusted (e.g., tweaked, completely changed, added, or removed) while training the model.
[0147] In some embodiments, the first machine learning model can be designed / configured to decompose target device energy usage from source location energy usage. For example, the machine learning model can be similar to Figure 7 、 Figure 8 and Figure 9 In some embodiments, the second machine learning model may be designed / configured to detect target device energy usage from within the source location energy usage. For example, detection may be different from decomposition in that decomposition is intended to determine the amount of energy usage of the target device, while detection is intended to detect energy usage of the target device above a threshold. The implementation of detection may be intended to detect energy usage above a threshold to distinguish between the target device being on and using energy and the target device being in standby mode (which may be drawing low levels of energy). This threshold for distinguishing between standby mode (which may be interpreted as off) and on may depend on the target device. In some embodiments, the predictive decomposition may take a numerical value (e.g., within a range of values), while the predictive detection may be binary (e.g., on or off).
[0148] At 1006, the energy usage data can be processed to generate training data. For example, the energy usage data can be processed based on the target device and a set of other devices (e.g., one or more non-target devices) to generate a training data set. The processing can be based on a correspondence between the energy usage data (e.g., the availability of device-specific usage scenarios for various devices within the energy usage data) and the set of other devices. In some embodiments, the set of other devices can be selected based on available energy usage data and / or the target device, the energy usage data for generating the training data can be selected based on the set of other devices and / or the target device, or the set of other devices and the energy usage data can be considered in combination and both can be selected based on a correspondence therebetween (e.g., that is beneficial for training / performance).
[0149] In some embodiments, a set of other devices is determined based on energy usage for a plurality of households within the training data. The number of other devices within the set of other devices can also be based on the energy usage for a plurality of households within the training data. In some embodiments, a set of other devices is determined based on known energy usage values for a set of other devices within the energy usage for a plurality of households within the training data. The set of other devices can be determined such that an amount of training data configured to train a machine learning model given the set of other devices satisfies a criterion (e.g., a threshold amount).
[0150] In some embodiments, energy usage data can be processed to augment the data with zero-valued energy usage based on the target device and a set of other devices participating in training. For example, an instance (e.g., a row) of data can include a timestamp, the overall energy usage at the source location, and a variety of labeled device-specific energy usage. When the target device or any device in the set of other devices is not included in the labeled device-specific energy usage of the instance, zero values can be filled in these missing (or otherwise invalid) entries. In some embodiments, the training data can be processed so that for a given source location (e.g., a home) whose energy usage does not include labeled energy usage from a subset of the set of other devices, the labeled energy usage of the subset of other devices is set to zero. This processing allows for efficient utilization of available training data, as the learning mechanism can still learn from the majority of the training data. Furthermore, the correspondence between the energy usage data and the set of other devices selected for participation in learning mitigates any potential learning issues that may arise from the insertion of zero values.
[0151] In some embodiments, processing the energy usage data may include generating a first set of training data for a first machine learning model and a second set of training data for a second machine learning model. For example, the first machine learning model that generates decomposition predictions is trained using labeled energy usage data that includes the amount of energy used (e.g., over a time span). Thus, the labeled device-specific energy data within the first set of training data may include labeled device-specific energy usage that reflects the amount of energy used, such as the energy amounts represented in Tables 1-6 above. In some embodiments, the second machine learning model that generates detection predictions is trained using labeled energy usage data that includes detected energy usage (e.g., over a time span). Thus, the labeled device-specific energy data within the second set of training data may include labeled device-specific energy usage that indicates whether energy is used above a threshold (e.g., a binary value indicating on or off).
[0152] In some embodiments, the second set of training data may be generated by setting any labeled device-specific energy usage value above a threshold to 1 and any labeled device-specific energy usage value below the threshold to 0. For example, the labeled device-specific energy usage of the second set of training data may not include the energy usage of the labeled device (instead including a binary 1 or 0).
[0153] At 1008, the first and second machine learning models can be trained using the generated first and second training datasets to predict the decomposed energy usage (e.g., amount of energy usage) of the target device and the detected energy usage (e.g., ON or OFF detection, such as energy usage above a threshold) of the target device. Training can include generation of predictions, loss calculation (e.g., based on a loss function), and gradient propagation (e.g., through layers / neurons of the machine learning model). As discussed herein, both the labeled energy usage of the target device and the labeled energy usage of a set of other devices are used to train the machine learning models.
[0154] In some embodiments, the trained machine learning model is trained using energy usage values for multiple homes, labeled energy usage values for a target device, and labeled energy usage values for a set of other devices. The first set of training data and the second set of training data used to train the first machine learning model and the second machine learning model may include energy usage from multiple homes, labeled energy usage values for the target device within the home energy usage, and labeled energy usage values for a set of other devices within the home energy usage. In some embodiments, the training of the first machine learning model can optimize the accuracy for predicting the energy usage value (e.g., energy usage) of the target device, and the training of the second machine learning model can optimize the accuracy for predicting the detected energy usage (e.g., ON or OFF detection, such as energy usage above a threshold) of the target device.
[0155] In some embodiments, the first set of training data and the second set of training data, including energy usage values from a plurality of households, labeled energy usage values for a target device, and labeled energy usage values for a set of other devices, have a substantially hourly granularity. Other suitable granularities can be similarly implemented. In some embodiments, adjustments can be made to the machine learning model, the utilized training dataset, and / or the set of other devices based on the training results. For example, testing of the trained model can indicate the accuracy of the trained model, and various adjustments can be made based on the test accuracy.
[0156] At 1010, the trained first machine learning model and the trained second machine learning model can be stored. For example, a trained learning model that generates predictions that meet a criterion (e.g., an accuracy criterion or threshold) can be stored so that the stored models can be used to perform decomposition prediction and detection prediction.
[0157] Figure 11 A flow chart is shown for predicting disaggregated energy usage associated with a target device using multiple trained machine learning models according to an example embodiment. Figure 10 Multiple machine learning models trained with the function can be used to perform Figure 11 function.
[0158] At 1102, home energy usage data may be received at a substantially hourly granularity over a period of time, wherein the home energy usage includes energy consumed by a target device and energy consumed by a plurality of other devices. For example, the home energy usage data may be broken down into time intervals based on timestamps (e.g., at a substantially hourly granularity or other suitable granularity) over a period of time (such as a day).
[0159] At 1104, the received energy usage data can be processed. For example, the processing can be similar to the processing of the training data. In such an example, the processing can modify the household energy usage input data to resemble the training data so that the trained machine learning model can achieve enhanced prediction results. The processing can include implementing hourly granularity for the energy usage data, normalization, other forms of scaling, and any other suitable processing.
[0160] In some embodiments, processing may include generating first input data for a first trained machine learning model and second input data for a second trained machine learning model. For example, the first machine learning model may be trained / configured to decompose target device energy usage from the input data, and the second machine learning model may be trained / configured to detect target device energy usage from the input data.
[0161] At 1106, the first input data can be provided to a first trained machine learning model, and a prediction of disaggregated energy usage from the source location energy usage data can be generated. For example, the first trained machine learning model can predict disaggregated target device energy usage over a period of time based on the received household energy usage.
[0162] In some embodiments, the Figure 10 A first trained machine learning model may be trained using a function of the first input data, and the first input data may be provided as input to the trained model. In some embodiments, the prediction may have a granularity similar to the first input / energy usage data provided to the trained model. For example, the predicted energy breakdown of the target device may have a substantially hourly granularity. In some embodiments, the predicted energy usage includes predicted energy usage of the target device for at least one day at least at a substantially hourly granularity.
[0163] At 1108, the second input data can be provided to a second trained machine learning model, and a prediction of the detected energy usage from within the source location energy usage data can be generated. For example, the second trained machine learning model can predict the detected target device energy usage over a period of time based on the received home energy usage.
[0164] In some embodiments, the second trained machine learning model may be based on Figure 10The trained model may be trained using a function of a target device, and the second input data may be provided as input to the trained model. In some embodiments, the prediction may have a granularity similar to the second input / energy usage data provided to the trained model. For example, the prediction of the detected energy usage of the target device may have a substantially hourly granularity. In some embodiments, the prediction of the detected energy usage includes the detected energy usage of the target device at least at a substantially hourly granularity for at least one day.
[0165] At 1110, outputs of the predictions from the first machine learning model and the second machine learning model can be combined. For example, the decomposition prediction and the detection prediction can be combined to form a decomposed combined prediction of energy usage of the target device.
[0166] In some embodiments, combining the decomposition prediction and the detection prediction includes adding value to the predicted decomposition of the target device based on the detection prediction, such as when the detection prediction disagrees with the decomposition prediction. In some embodiments, the decomposition prediction and the detection prediction are combined using a weighting scheme that accounts for differences between the predictions.
[0167] In some embodiments, a third machine learning model can be trained, where the third machine learning model is trained / configured to combine decomposition predictions and detection predictions. For example, the third trained machine learning model can be trained to predict energy usage of a target device using the decomposition predictions and the detection predictions. In some embodiments, the decomposition predictions and the detection predictions are combined using predictions generated by the third trained machine learning model.
[0168] Embodiments perform non-intrusive load monitoring using novel learning schemes. NILM and decomposition refer to taking the total energy usage at a source location (e.g., energy usage at a home provided by an advanced metering infrastructure) as input and estimating the energy usage of one or more appliances, electric vehicles, and other devices that use energy at the source location. Embodiments utilize a trained machine learning model to predict the energy usage of a target device based on the total energy usage at the source location. For example, the target device may be a large appliance or an electric vehicle, the source location may be a home, and the trained machine learning model may receive the energy usage of the home as input and predict the energy usage of the target device (e.g., the energy usage of the target device included in the energy usage of the home as a whole).
[0169] Embodiments use labeled energy usage data to train a machine learning model. For example, a machine learning model, such as a neural network, can be designed / selected. Energy usage data can be obtained from multiple source locations (e.g., homes), where the energy usage data can be labeled with device-specific energy usage. For example, home energy usage values can cover a period of time, and energy usage values for individual devices (e.g., appliance 1, electric vehicle 1, appliance 2, etc.) during that period of time can be labeled. In some embodiments, this home and device-specific energy usage can then be processed to generate training data for the machine learning model.
[0170] In some embodiments, a machine learning model can be trained to predict (e.g., decompose) energy usage of a target device. For example, the training data may include energy usage specific to the target device at multiple different source locations (e.g., homes), so the machine learning model can be trained to identify trends in the training data and predict target device energy usage. In some embodiments, although the machine learning model is trained to predict target device energy usage, the training may include energy usage predictions / loss calculations / gradient updates for one or more other devices. For example, when implementing embodiments of training techniques for machine learning models (e.g., prediction generation, loss calculations, gradient propagation, accuracy improvement, etc.), a set of other devices may be included along with the target device.
[0171] The features, structures, or characteristics of the present disclosure described throughout this specification may be combined in any suitable manner in one or more embodiments. For example, the use of "one embodiment," "some embodiments," "an embodiment," "certain embodiments," or other similar language throughout this specification refers to the fact that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of the present disclosure. Thus, the appearances of the phrases "one embodiment," "some embodiments," "an embodiment," "certain embodiments," or other similar language throughout this specification are not necessarily all referring to the same set of embodiments, and the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0172] Those skilled in the art will readily appreciate that the embodiments discussed above may be practiced with steps in a different order and / or with elements in configurations different from those disclosed. Thus, while the present disclosure contemplates the embodiments outlined, certain modifications, variations, and alternative configurations will be apparent to those skilled in the art while remaining within the spirit and scope of the present disclosure. Therefore, to determine the metes and bounds of the present disclosure, reference should be made to the appended claims.
Claims
1. A method for decomposing energy usage associated with a target device, the method comprising: storing a plurality of trained machine learning models configured to decompose device energy usage from home energy usage, wherein each of the machine learning models is trained on corresponding training data to predict energy usage of a target device from home energy usage; receiving home energy usage information for a period of time, wherein the home energy usage information includes energy consumed by the target device and energy consumed by a plurality of other devices; generating a prediction of energy usage of the target device over the period of time based on the received home energy usage using the plurality of trained machine learning models, wherein the plurality of trained machine learning models includes a first machine learning model configured to decompose energy usage of the target device and a second machine learning model configured to detect energy usage of the target device above a threshold; as well as The predictions from the plurality of trained machine learning models are combined to generate a combined decomposed prediction of energy usage of the target device over the period of time.
2. The method of claim 1 , wherein the trained machine learning model is trained using energy usage values for a plurality of homes, labeled energy usage values for the target device, and labeled energy usage values for a set of other devices.
3. The method according to claim 2, wherein: The training data used to train the machine learning model includes energy usage from a plurality of homes, labeled energy usage values of the target device within the energy usage of the home, and labeled energy usage values of the set of other devices within the energy usage of the home, and Training the machine learning model optimizes the accuracy of predicting energy usage values for the target device.
4. The method of claim 3, wherein the training data includes energy usage values for a plurality of households, and the energy usage for a majority of the households includes labeled energy usage from the target device and labeled energy usage from at least one device in the group of other devices.
5. The method of claim 4 , wherein the training data comprising energy usage values from the plurality of homes, the labeled energy usage values of the target device, and the labeled energy usage values of the set of other devices comprises hourly granularity, and the received home energy usage over the period of time comprises hourly granularity.
6. The method of claim 5, further comprising: The training data is processed such that for a given household whose energy usage does not include labeled energy usage from a subset of the set of other devices, the labeled energy usage of the subset of other devices is set to zero. 7 . The method of claim 6 , wherein the predicted energy usage comprises predicted energy usage of the target device at least at an hourly granularity for at least one day.
8. The method of claim 7, wherein the set of other devices is determined based on the energy usage of the plurality of homes comprising the training data.
9. The method of claim 8, wherein the number of other devices within the set of other devices is based on the energy usage of the plurality of homes comprising the training data.
10. The method of claim 9, wherein the set of other devices is determined based on known energy usage values of the set of other devices within the energy usage of the plurality of homes comprising the training data.
11. A method as claimed in claim 10, wherein the set of other devices is determined so that the amount of training data configured to train the machine learning model given the set of other devices meets a criterion.
12. A system for decomposing energy usage associated with a target device, the system comprising: processor; as well as a memory storing instructions for execution by the processor, the instructions configuring the processor to: storing a plurality of trained machine learning models configured to decompose device energy usage from home energy usage, wherein each of the machine learning models is trained on corresponding training data to predict energy usage of a target device from home energy usage; receiving home energy usage information for a period of time, wherein the home energy usage information includes energy consumed by the target device and energy consumed by a plurality of other devices; generating a prediction of energy usage of the target device over the period of time based on the received home energy usage using the plurality of trained machine learning models, wherein the plurality of trained machine learning models includes a first machine learning model configured to decompose energy usage of the target device and a second machine learning model configured to detect energy usage of the target device above a threshold; as well as The predictions from the plurality of trained machine learning models are combined to generate a combined decomposed prediction of energy usage of the target device over the period of time.
13. The system of claim 12, wherein the trained machine learning model is trained using energy usage values for a plurality of homes, labeled energy usage values for the target device, and labeled energy usage values for a set of other devices.
14. The system of claim 13, wherein: The training data for training the machine learning model includes energy usage from a plurality of households, labeled energy usage values of the target device within the energy usage of the households, and labeled energy usage values of the set of other devices within the energy usage of the households, and Training the machine learning model optimizes the accuracy of predicting energy usage values for the target device.
15. The system of claim 14, wherein the training data includes energy usage values for a plurality of households, and the energy usage for a majority of the households includes labeled energy usage from the target device and labeled energy usage from at least one device in the set of other devices.
16. The system of claim 15 , wherein the training data comprising energy usage values from the plurality of homes, labeled energy usage values of the target device, and labeled energy usage values of the set of other devices comprises hourly granularity, and the received home energy usage over the period of time comprises hourly granularity.
17. The system of claim 16, wherein the instructions configure the processor to: The training data is processed such that for a given household whose energy usage does not include labeled energy usage from a subset of the set of other devices, the labeled energy usage of the subset of other devices is set to zero.
18. The system of claim 17, wherein the predicted energy usage comprises predicted energy usage of the target device at least at an hourly granularity for at least one day.
19. The system of claim 18, wherein the set of other devices is determined based on known energy usage values of the set of other devices within the energy usage of the plurality of homes comprising the training data.
20. A non-transitory computer-readable medium having stored thereon instructions that, when executed by a processor, cause the processor to decompose energy usage associated with a target device, wherein: The instructions, when executed, cause the processor to: storing a plurality of trained machine learning models configured to decompose device energy usage from home energy usage, wherein each of the machine learning models is trained on corresponding training data to predict energy usage of a target device from home energy usage; receiving home energy usage information for a period of time, wherein the home energy usage information includes energy consumed by the target device and energy consumed by a plurality of other devices; generating a prediction of energy usage of the target device over the period of time based on the received home energy usage using the plurality of trained machine learning models, wherein the plurality of trained machine learning models includes a first machine learning model configured to decompose energy usage of the target device and a second machine learning model configured to detect energy usage of the target device above a threshold; as well as The predictions from the plurality of trained machine learning models are combined to generate a combined decomposed prediction of energy usage of the target device over the period of time.
Citation Information
Patent Citations
CNN based non-intrusive power consumption load decomposition method
CN108899892A
Non-invasive power load monitoring and decomposition method and system based on ensemble learning
CN109145949A
Electrical meter system for engery desegregation
US20180328967A1
Method and apparatus for power signal disaggragation using a convolutional neural network
WO2019155214A1