Extracting the power consumption of an individual device within a set of devices connected to an electrical network
The method addresses the challenge of accurately disaggregating energy-intensive device consumption using a transformer-based neural network with dilated convolutions and multi-scale attention, enhancing NILM performance for real-world data frequencies.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-09-16
- Publication Date
- 2026-03-26
AI Technical Summary
Existing non-intrusive load monitoring (NILM) methods struggle to accurately disaggregate the electrical consumption of energy-intensive devices like electric vehicles and water heaters, and are ineffective with low-frequency data from smart meters, leading to imprecise load curve estimation.
A method involving data transformation, positional encoding, and a transformer-based neural network architecture to process aggregated load curves into individual equipment consumption, using dilated convolutions and multi-scale attention mechanisms to handle non-stationary data and long-term dependencies.
The method effectively disaggregates load curves for energy-intensive devices, improving accuracy and applicability to real-world data frequencies, overcoming limitations of prior methods.
Smart Images

Figure EP2025076327_26032026_PF_FP_ABST
Abstract
Description
[0001] Extracting the electrical consumption of an individual device within a set of devices connected to an electrical network
[0002] TECHNICAL FIELD
[0003] The present invention relates to the non-intrusive determination of the electrical consumption of electrical equipment located in a specific room.
[0004] The invention relates more particularly to a method of disaggregating the load curve of a fleet of equipment in order to determine individual consumptions and to detect periods of activation of the equipment.
[0005] This allows for the optimization of electricity consumption for users (premises managers) and electricity production for the supplier or distributor. These premises, whether residential or commercial, contain a growing number of electrical devices whose nature and behavior are extremely diverse, both in terms of consumption and activation frequency over time periods.
[0006] In a residential building, one can typically find electrical equipment such as a connected television, lighting systems, household appliances, connected sockets, water heaters, electric vehicle charging stations, electrical panels, inverters, etc.
[0007] However, optimizing electricity consumption, or more generally energy consumption, may become increasingly important for better management of the available power on the electrical grid, as well as for economic and environmental reasons. Such optimization can only be achieved through understanding the individual electrical behavior of each piece of equipment.
[0008] Generally, there is no way to measure the electricity consumption of each piece of equipment. Such an approach would require installing an electricity meter for each device, which is undesirable due to the additional cost. Furthermore, such a solution would likely be unacceptable to users.
[0009] Non-intrusive load monitoring (NILM) approaches have been proposed. Load curve disaggregation aims to estimate the individual energy consumption of each appliance or piece of equipment, and / or the activation of the on / off state, using only the aggregated total load curve (apparent power consumed for a dwelling). This aggregated total load curve is available via a smart electricity meter.
[0010] Load curve disaggregation was initially approached as a linear combination problem. Early research investigated the use of combinatorial optimization algorithms to estimate the proportion of energy consumption at each time step and for each active device. Subsequently, hidden Markov models were the preferred approach for several years.
[0011] In recent years, proposals have been made based on neural networks and deep learning.
[0012] One of the first publications relating to this family of approaches is the article by Kelly, J., & Knottenbelt, W. “Neural nilm: Deep neural networks applied to energy disaggregation”, in Proceedings of the 2nd ACM international conference on embedded systems for energy-efficient built environments (pp. 55-64), 2015.
[0013] In their study, they compared the performance of three deep learning architectures: a Denoising Autoencoder (DAE), a recurrent network (LSTM), and a start / stop time regressor. These three models demonstrated superior performance compared to the classical machine learning methods then in use. Furthermore, this work sparked renewed interest in the field within the community, and numerous solutions based on deep learning were subsequently proposed in the literature.
[0014] Approaches based on convolutional neural networks have emerged, such as the one described in Zhang, Chaoyun et al. “Seguence-to-point learning with neural networks for nonintrusive load monitoring” in AAAI Conference on Artificial Intelligence (2016).
[0015] Approaches based on recurrent neural networks (RNNs) have also been proposed. Unlike classical neural networks, RNNs were designed to retain previous information in "memory" while processing current data. The key characteristic of RNNs is the use of recurrent loops, which allow information to be propagated from one time T to the next. Theoretically, this helps maintain previous states in memory, making RNNs particularly well-suited for sequence prediction tasks, such as machine translation, text generation, or load curve disaggregation. However, basic RNNs are difficult to train in practice, primarily due to the vanishing gradient problem that arises when training on long sequences.
[0016] To address this, variants of RNNs, such as Bidirectional Long Short-Term Memory (BiLSTM) and Bidirectional Gated Recurrent Units (GRU), have been developed. These architectures incorporate specific mechanisms to better manage long-term dependencies and mitigate the gradient explosion problem.
[0017] More recently, a new approach has emerged based on "transformer" technology. This type of algorithm was introduced in the article by Vaswani, Ashish et al., "Attention is All you Need," in Neural Information Processing Systems (2017).
[0018] Un exemple d'un tel algorithme, « BERT4NILM », est décrit dans l'article de Zhenrui Yue, Camilo Requena Witzig, Daniel Jorde, et Hans-Arno Jacobsen “BERT4NILM: A Bidirectional Transformer Model for Non-Intrusive Load Monitoring » in Proceedings of the 5th International Workshop on Non-lntrusive Load Monitoring (NILM'20). Association for Computing Machinery, New York, NY, USA, 89-93. https: / / doi.org / 10.1145 / 3427771.3429390
[0019] This mechanism allows for a partial disaggregation of the load curve: the individual load (or consumption) of certain types of equipment can be determined, but this proves impossible, or too imprecise, for other types of equipment. In particular, very few studies in the literature focus on estimating "energy-intensive" uses, such as electric vehicles, heating, or water heaters. Yet these uses represent the majority of household consumption in metropolitan France, a country where electric heating is very widespread. In other parts of the world, equipment such as air conditioning can also constitute a significant portion of electricity consumption.
[0020] Furthermore, very few studies are conducted on data with "low frequency" time steps, which is nevertheless the data collection time step for the majority of smart meters in France, Europe, and worldwide (e.g., Linky meters collect data every 10-30 minutes). Consequently, most state-of-the-art solutions are tested only on a few high-frequency public datasets (collection time steps on the order of seconds), making it impossible to evaluate their performance in real-world applications.
[0021] Furthermore, the algorithms operate on a subsequence of a household's overall load curve to predict the consumption curve and / or the individual activation state of a given appliance. This subdivision is essential to maintain an "acceptable" number of parameters within the model and / or computation time. In addition, some studies in the literature have shown that a long consumption history input to the model negatively impacts its performance.
[0022] Data scaling is also an essential step to implement when training a deep learning algorithm. Indeed, the backpropagation algorithm used to train these models is sensitive to large values (the gradient explosion phenomenon discussed earlier). It is therefore common practice to normalize each data point passed into a network (z-normalization or max / min normalization).
[0023] However, as highlighted in the study by Kelly et al. seen previously, applying subsequence scaling is not suitable for NILM. Indeed, normalizing by "subsequences" (i.e., each subsequence given as input to a model derived from the segmentation of the overall curve of a dwelling) implies the loss of information about the reference power value, revealing only the "shape" information of the signal.
[0024] However, it's worth noting that the power consumption is closely linked to the specific use of the devices: a similar pattern (based on the "shape" of the consumption signal) may be common to several devices, but the maximum power reached allows them to be differentiated. For example, the activation pattern of a water heater and an electric vehicle charging may be similar, but the power consumption reached during vehicle charging is significantly higher.
[0025] Therefore, the typical treatment applied to data in the NILM literature involves scaling the overall housing consumption curve followed by sub-sequence segmentation, without additional normalization applied to each of them.
[0026] However, this process induces a significant change in the data distribution within each subsequence (known as non-stationary data), affecting model performance. It should be noted that this phenomenon has recently been studied in the context of time series forecasting using neural networks, but has not yet been addressed in the proposed solutions for NILM.
[0027] Therefore, it is crucial to take this phenomenon into account in order to propose more effective solutions for disaggregation cases and, more generally, to improve current state-of-the-art proposals.
[0028] DESCRIPTION OF THE INVENTION
[0029] The invention therefore aims to improve the situation by offering an efficient and high-performance method for extracting the load curve of a given piece of equipment from the aggregate load curve of a set of equipment.
[0030] To this end, according to a first aspect, the present invention can be implemented by a method for extracting the electrical consumption of an individual piece of equipment within a set of equipment located in a given room, said method comprising the transformation of a stream of measured values of the overall electrical consumption of said set, provided by a measuring device associated with said given room, into a time series, and a division of said time series into a set of sequences, then, for each sequence, the steps of: determining statistical metrics, allowing the normalization of said sequence; generating a positional encoding matrix from time values associated with the values of said sequence; extracting features from said normalized sequence to form a feature matrix; projecting said statistical metrics into a statistics vector;concatenation of said positional encoding matrix, said feature matrix and said statistics vector to form an input matrix supplied to a transformation neural network designed to infer a temporal sequence corresponding to said individual equipment.
[0031] According to preferred embodiments, the invention comprises one or more of the following features which may be used separately or in partial combination with each other or in total combination with each other: said positional encoding matrix and said feature matrix have a width equal to the number w of values in said sequence and the sum d of their height is equal to the height of said statistic vector, so that said input matrix has dimension (w+l)xd; at least one step among the extraction, projection and inference steps is based on a neural network trained on a training set corresponding to said individual equipment;said step of generating a positional encoding matrix comprises a first projection of said time values into a sinusoidal basis, and a second projection into a space one dimension of which is substantially smaller (d / 4) than the corresponding dimension (3d / 4) of said feature matrix; said extraction step is implemented by a dilated convolution block; the process further comprises a step of denormalizing said time sequence corresponding to said individual equipment using projected values of said statistical vector using a learnable transformation matrix.
[0032] Another aspect of the invention relates to a method for characterizing electrical consumption, comprising an implementation of the extraction method as previously described for at least a subset of said equipment.
[0033] Another aspect of the invention relates to equipment comprising at least one processor adapted to implement a process as previously described.
[0034] Another aspect of the invention relates to a computer program comprising code instructions which, when executed by a processor, carries out the steps of the process as previously defined.
[0035] Another aspect of the invention relates to a data carrier on which at least one series of program code instructions for the execution of a process as previously defined has been stored.
[0036] BRIEF DESCRIPTION OF THE DRAWINGS
[0037] Other features and advantages of the invention will become apparent from the following description of a preferred embodiment of the invention, given by way of example and with reference to the accompanying drawings. Figure 1 illustrates a context of use of a method according to embodiments of the invention; Figure 2 illustrates an embodiment of the learning phase for a method of extracting electrical consumption according to one embodiment; Figure 3 schematically represents, in the form of a flowchart, a method of extracting the electrical consumption of an individual piece of equipment within a set of equipment, according to one embodiment; Figure 4 illustrates an example of dimensions for the different matrices used according to embodiments of the invention; Figure 5 schematically represents a dilated convolution block.According to one embodiment of the invention, Figure 6 illustrates a neural transformation network; according to one embodiment of the invention, Figure 7 schematically illustrates a multi-scale dynamic attention mechanism; according to one embodiment of the invention, Figures 8A, 8B and 8C illustrate results on public databases of the method according to one embodiment of the invention; Figure 9 illustrates the extraction of the load curve for equipment such as an electric vehicle charging station using a method according to one embodiment of the invention.
[0038] DETAILED DESCRIPTION OF SPECIFIC IMPLEMENTATION METHODS
[0039] Figure 1 shows a set of equipment, Ei, E2, E3, ..., E n , located in a specific location L.
[0040] The defined area L can correspond to a geographically limited space within which a given user can place and control connected devices. This space can correspond to a personal dwelling (apartment, house, etc.), or to the premises of a company, a store, etc.
[0041] The determined premises may possibly have extensions outside of a limited space, when for example certain connected objects are remote: an electric car charging station may be located in a garage, a garden, or even open onto the road, and be outside the main space corresponding to the dwelling, while being within the user's control perimeter.
[0042] The equipment can be of different types. Generally speaking, it refers to any equipment connected to an electrical power distribution network and consuming this energy continuously or intermittently.
[0043] Examples include: household appliances (ovens, refrigerators, hot plates, etc.), lighting systems, heating and temperature control systems, security systems (motion detectors, surveillance cameras, etc.).
[0044] A device C is associated with the specified room L, and is adapted to provide measurement data of an overall load, or consumption, for all the equipment associated with the specified room L. This device can measure the energy consumed on the internal NE distribution network within the specified room L. The measured values can typically represent apparent power.
[0045] This device is typically a so-called "smart" electricity meter, meaning one adapted to provide such data, generally in the form of a stream of numerical values. For example, in France, this could be a Linky™ type electricity meter. A suitable GTW gateway may also be included to communicate with the measurement device C, in order to acquire a stream of measurements of overall electricity consumption provided by the measurement device C.
[0046] The GTW gateway may include data processing capabilities. It may also have interfaces with the measurement device C and a telecommunications network N.
[0047] The interface with the measurement device C can be a wireless interface, in order to minimize wired connections within room L and for ergonomic reasons. To achieve this, a wireless module may need to be connected to the measurement device C to ensure wireless connectivity between it and the GTW gateway. This module could be a local radio transmitter (LRT) using the Zigbee™ protocol, for example.
[0048] According to a particular embodiment, the GTW gateway may include a Raspberry Pi type microprocessor, RAM memory (between 4 GB and 8 GB, for example), and mass storage, for example of the eMMC type, of about 16 GB.
[0049] The interface to the N telecommunications network can be wired (Ethernet) or wireless (Wi-Fi, etc.). More precisely, this telecommunications network can be composed of a local network to which a telecommunications gateway is connected to enable access to the public telecommunications network (the Internet). The N telecommunications network can therefore be viewed as a set of subnets.
[0050] The N telecommunications network allows the GTW gateway to communicate with an S service platform.
[0051] Different role sharing arrangements between the GTW gateway and the S services platform can be considered.
[0052] The S service platform can be in charge of managing the GTW gateway, including software updates, fault management, etc.
[0053] Data and processing can also be transmitted from the GTW gateway to the S service platform. This data and processing may correspond to tasks that cannot be performed locally, particularly because the computing power of an S service platform is required. The S service platform can be deployed on a server farm or, abstracted as a cloud computing server, its computing power can be adapted according to the task to be performed, as submitted by the GTW gateways.
[0054] These treatments can correspond to training predictive models on training sets.
[0055] Indeed, training is costly in terms of computing power and execution memory. It is therefore advantageously executed on a service platform (S) which can be adequately sized for this type of processing, whereas the GTW gateway can only have limited resources since it is a device designed to be deployed at the user's premises: it therefore meets significant cost and sizing constraints.
[0056] The GTW gateway can advantageously implement the inference process allowing the extraction of the electrical consumption of an individual piece of equipment within a set of equipment.
[0057] In such an implementation, the model(s) trained by the S service platform can be uploaded to the GTW gateway. Other arrangements and distributions of processing between a local GTW gateway (possibly subdivided into several separate devices) and a remote S service platform can also be implemented.
[0058] In particular, in inference, part of the processing can be moved to the S service platform, in particular to aggregate data from different locations (in which case the data can be anonymized beforehand).
[0059] Figure 2 illustrates one way of implementing the learning phase of the different predictive model(s) used in the proposed process for extracting the electrical consumption of an individual piece of equipment.
[0060] In this figure, the GTW gateway and the S service platform are represented as a single GTW / S functional block, since the focus here is on the functional and algorithmic aspects and not on the implementation of functions on particular equipment.
[0061] As described previously, the measurement device C collects load curves corresponding to the electrical consumption of a set of (electrical) equipment associated with a given room; that is, a stream of measured values of overall electrical consumption. This data is provided to the GTW / S functional block.
[0062] Furthermore, a measurement device Ci can be provided to collect the particular load curve (flow of measurement values) of a given individual piece of equipment Ei. This load curve is also provided to the GTW / S function block and corresponds to the label, or truth (or "ground truth"), to which, in a way known per se, the predictions of the predictive models can be compared during the learning phase.
[0063] This learning phase involves refining the internal parameters of the predictive model(s) to minimize the errors between a prediction made from a load curve provided by the measuring device C and the specific load curve provided by the measuring device Ci, or "label." Thus, the predictive models learn to extract the specific load curve of the equipment Ei from a load curve representing a set of equipment. Multiple training phases can be used to train several predictive models, each corresponding to a distinct individual piece of equipment: water heater, electric vehicle charging station, etc.
[0064] Public training databases exist and can be used, such as the REDD, UK-DALE, and REFIT databases. These three databases provide consumption values at fine time steps (5-10 seconds) for overall load curves and household appliances. REDD offers data from 6 US homes collected in 2011, UK-DALE from 5 UK homes collected from 2012 to 2015, and REFIT from 23 UK homes collected from 2015 to 2017.
[0065] However, it is important to note that these datasets do not allow predictive models to be trained in all application cases of the proposed process.
[0066] Indeed, the data collected in these studies were gathered at "high-frequency" time steps (one data point per second), and the instrumented devices were small, low-energy appliances such as washing machines, dishwashers, or kettles. These training sets are therefore insufficient to train a predictive model to perform load curve extraction for equipment such as water heaters, electric vehicle charging stations, etc.
[0067] However, even within this limited scope of application, it turns out that the performance of the proposed process exceeds that of the prior art processes.
[0068] To accommodate other equipment, the mechanism described earlier in connection with Figure 2 can be implemented. For example, it can be used to train one or more predictive models that have already been initially trained on another training set, such as a public dataset as described earlier.
[0069] Figure 3 schematically represents, in the form of a flowchart, a process for extracting the electrical consumption of an individual piece of equipment within a set of equipment, according to one embodiment.
[0070] As previously mentioned, the proposed method is an algorithmic process that aims to disaggregate (or extract) the aggregated load curve of a location collected by a smart meter (also called a Delivery Point, PDL). This location could correspond to a home or dwelling, or to an industrial (SME...) or commercial premises, for example.
[0071] The process allows the individual load curve to be extracted from several large devices, including electric vehicles, heating and water heaters.
[0072] The process takes as input a stream of measured values for overall electrical consumption provided by a measuring device such as a power delivery system (PDL). This overall consumption represents the load curve of all equipment associated with room L corresponding to the PDL. Generally, the measurements are average power measurements over 30-minute time intervals.
[0073] This load curve can correspond to a variable duration. It can represent historical data or a current flow for near real-time processing.
[0074] The aim of this process is primarily to diagnose the average energy consumption of room L and to draw conclusions about equipment behavior for potential optimization. Therefore, it is important to have sufficient historical data to detect emerging patterns. A history of approximately three days is recommended.
[0075] The process can output a set of measured values corresponding to an individual piece of equipment (electric vehicle, water heater, heating system, etc.). As many sets of values (or load curves) can be provided as there are individual pieces of equipment considered. The individual pieces of equipment considered can be defined by configuration.
[0076] The process includes the transformation of the flow of measurement values of overall electrical consumption, provided by the measurement device C associated with the determined local L, into a time series.
[0077] To achieve this, in one embodiment, the GTW gateway may include a suitable preprocessing module to transform this stream of measurement values into a time series.
[0078] This time series is constructed to be provided as input to multilayer neural network predictive models.
[0079] This time series can represent a time window in which each value represents a measurement value for an interval within that time window. For example, we could have a time interval, or time step, of 15 seconds, and a time series of 480 values, which represents a total time window of 480 x 15 = 2 hours.
[0080] Within the time series, the value assigned to a time interval can correspond to a resampling of the measurement stream values. For example, if more than one measurement stream value is available for the same time interval, the MT preprocessing module can establish an average value (for example) to construct the output time series.
[0081] The process then includes, in an SI step, the segmentation of the time series into a set of sequences.
[0082] As previously discussed, the time series can correspond to a load curve extending over several hours, or even several days. For subsequent processing, this large volume of data is subdivided into sequences corresponding to shorter time periods. Preferably, the sequences are of constant duration.
[0083] Let w be the number of values in a sequence.
[0084] A sequence can be considered as comprising two series of values: a series of w discrete values of power (or load) readings such that a series of w respective timestamp values, each associated with a discrete power reading value, such that T wxl = (t 1; t2, ... t w )
[0085] Timestamp values are discrete calendar variables extracted from time steps (minute, hour, day of the week, month).
[0086] Several steps are then applied to each of these sequences.
[0087] Each of these steps S4, S5, S6 concerns an element of information contained in the input sequence: the values of the input sequence, statistical metrics on this input sequence (mean, standard deviation) allowing to manage the non-stationary phenomena inherent in the load curves, the time values associated with the values of the input sequence, in order to take into account the time data related to the uses of electrical equipment in a room.
[0088] The separate processing of these three elements present in the input sequence allows the information to be retained in the most relevant way possible by processing each element appropriately.
[0089] In general, these steps are implemented by an architecture comprising functional blocks of the "neural network" type, taking as input an aggregate consumption sequence of size w and generating a sequence of equivalent size. This is a sequence-to-sequence model (also called "seq2seq").
[0090] These steps can occur in parallel or in parallel sequences. For example, steps S4, S5, and S6 are independent and can occur in parallel. If they are executed sequentially, the order is irrelevant.
[0091] Step S2 involves determining statistical metrics from the sequence under consideration. Typically, these statistical metrics are the mean, p, and the standard deviation G, of the values in the sequence. Thus:
[0092] In an S3 step, these statistical metrics then allow the input sequence to be normalized.
[0093] This normalization can be z-normalization. Z-normalization, also called standardization, is a data normalization technique commonly used in statistics and machine learning to transform data so that it has a mean of 0 and a standard deviation of 1. This transformation is useful for making the different characteristics of a dataset comparable and for improving the convergence of learning algorithms.
[0094] In this embodiment, we therefore obtain a standardized sequence Z such that Vi E r [l,wn], Z; = -i ~ - a
[0095] It is this normalization step that allows us to take into account the non-stationary aspect of the data in the input sequence X.
[0096] In step S4, a positional encoding matrix, MEP, is generated from the time values T wxl associated with the X values wxl of the sequence in question.
[0097] As will be seen below, a later step S8 uses a transform neural network. However, transformer-based models are by definition permutation-invariant (i.e., by default the mechanism does not take into account the position of time steps in a sequence). It is therefore essential to provide the model with this information. A common way to do this is to add a positional encoding matrix. However, this approach does not account for the intrinsic discrete calendar values of the sequence's time steps (the timestamp).
[0098] In general, in the prior art, positional encoding matrices (PEMs) are weight matrices (learnable or static) that are added to the encoding (or "embedding") before a Transformer block. These matrices only take into account the relative position of each token in the given input sequence.
[0099] In our case, we propose to generate the matrix based on these T values wxl associated with the X values wxl of the sequence in question.
[0100] In particular, the proposed MEP matrix is a projection of discrete calendar information (time-stamped time series) into a higher-dimensional space, using a convolutional layer. This matrix then contains information about the position of each time step in the subsequence given as input to the model, as well as global positional information (time of year, for example). This information is essential for inducing more global information within the model (a device used primarily at a specific time of year or hour). Unlike prior art MEP matrices, the positional encoding matrix, MEP, is concatenated to the encoding. Thus, the encoding information does not alter the signal's shape characteristics.
[0101] It has been empirically demonstrated that this positional encoding matrix outperforms the use of conventional MEPs.
[0102] More specifically, according to embodiments, the T values wxl = extracted from the considered sequence are subjected to a first projection onto a sinusoidal basis such that: with i.e. [1, p] corresponding to the set of p possible values for each discrete timestamp variable. For example, p=24 for time encoding, p=7 for encoding based on days of the week, etc.
[0103] According to one embodiment, the generated encoding is then subjected to a second projection into a two-dimensional space, one dimension of which is equal to the number w of values in the sequence under consideration, and the other dimension is a given number substantially less than the corresponding dimension of a matrix of features extracted from this same sequence, in a step S5.
[0104] In the example illustrated in Figure 4, the dimension of this space corresponding to the positional encoding matrix, MEP, is d / 4, while the feature matrix MF has a corresponding dimension of 3d / 4. The sum of these two dimensions equals a value d which corresponds to the height of the vector, or matrix, of statistics MS.
[0105] The value of the internal dimension d is a hyperparameter that can be chosen or determined in various ways. In particular, the value d was chosen empirically to achieve the best average performance across a set of metrics. This value may vary for each device and dataset. Values d={64, 96, 128, 256} are generally considered acceptable for deep learning models applied to univariate time series in the scientific literature. In this case, d=96 can be used. The ratio d / 4 for the positional encoding matrix, MEP, is a ratio used to balance the amount of information from the feature extraction related to the shape of the curve, in step S5 (which will be explained later), and the amount of information from the positional encoding matrix.
[0106] This value of 4 was determined empirically through experiments and is based on the observation that information about the shape of the curve is less redundant and should therefore be used more. Other values are possible, however: for example, the denominator can be varied between 2 and 8 (i.e., an interval {d / 2, d / 4, d / 8}) depending on the value of d and the importance given to positional encoding.
[0107] This projection into a space of dimensions |wx | can for example be achieved by means of a one-dimensional (1D) convolution layer with a kernel of size 1.
[0108] ID convolution is used to apply filters to one-dimensional data. A kernel (or filter) of size 1 means that the filter covers exactly one unit of the dimension to which it is applied. Since the kernel size is 1, it encompasses only one element at a time in the input sequence.
[0109] When the filter is applied with a kernel size of 1, each element in the input sequence is multiplied by a weight and can then have a bias added, which essentially amounts to a linear transformation of each individual element.
[0110] This convolution layer is parameterized to obtain an output in a space of size [wx|. In particular, we can set the step (or "stride" in English) and padding (or "padding" in English) parameters.
[0111] Convolutional layers use a kernel k=3 (an empirically determined value that may be a parameter to optimize depending on the application, i.e., the device in question). Therefore, the fill value used in the convolutional layer is equal to k / 2 in order to obtain an output sequence of a size equivalent to the input sequence. However, in general, the kernel size and fill value can be empirically optimized by considering performance metrics for different tested configurations. Kernel sizes k of 3, 5, or 7 can, for example, be used. Similarly, in order to obtain a sequence of a size equivalent to the input sequence of the convolutional layer (keeping the same number of time steps), the step size used is equal to 1.
[0112] A feature extraction step S5 is also implemented. This step takes as input the previously normalized sequence, Z, and generates as output a feature matrix MF.
[0113] This feature extraction can be based on a neural network trained on a training set corresponding to the individual equipment considered: as detailed previously, predictive models are trained equipment by equipment during a learning phase and are therefore specialized.
[0114] In particular, according to one embodiment, the S5 extraction step can be implemented by a dilated convolution block.
[0115] A dilated convolution block, also called a "hole convolution" or "dilated convolution" in English, is a variation of the standard convolutional layer used in convolutional neural networks (CNNs). It introduces gaps (or holes) between the elements of the convolutional kernel, which allows for an increased receptive field without increasing the number of parameters or the size of the filter.
[0116] This technique was notably described in the article YU, Fisher and KOLTUN, Vladlen. “Multi-scale context aggregation by dilated convolutions”. arXiv preprint arXiv:1511.07122, 2015.
[0117] We can also cite the article YU, Fisher, KOLTUN, Vladlen, and FUNKHOUSER, Thomas. “Dilated residual networks" in: Proceedings of the IEEE conference on computer vision and pattern recognition. 2017. p. 472-480.
[0118] The approach in this last article combines residual networks with dilated convolutions.
[0119] According to a particular embodiment, such a dilated residual network can be used to extract, for a given normalized sequence Z, several representations via a set of learnable convolution filters.
[0120] As seen previously, the number of convolution filters, which determines the size of the space corresponding to the MF feature matrix, is substantially greater than the corresponding dimension of the positional encoding matrix (see Figure 4). In the numerical example given earlier, we can therefore expect a dilated convolution block containing 3d / 4 filters.
[0121] Figure 5 schematically represents such a dilated convolution block, according to one possible embodiment.
[0122] This figure presents the expanded convolutional block as a succession of steps. However, it can also be considered as a succession of layers or blocks of neurons, each representing a step in the data flow from an input to an output.
[0123] In this embodiment, the expanded convolution block consists of four stacked residual units using convolution filters. The figure shows one residual unit, with the other three following successively until the final output and potentially being identical. The number of residual units (e.g., four) is determined empirically through experimentation and performance metric measurements. This number may vary depending on the dataset and device type. Consequently, the model may differ structurally depending on the equipment from which the curve is to be extracted.
[0124] A residual unit, or "ResUnit," is a fundamental building block used in residual neural networks, known as ResNets. The main idea behind residual units is to introduce short-circuit connections (or residual connections) that allow gradients to propagate directly through layers without dissipating, thus mitigating the gradient degradation problem observed in very deep networks.
[0125] In general, a typical residual unit consists of two or three convolution layers with added short-circuit connections.
[0126] In the embodiment described in connection with Figure 5, each unit is composed of a convolution layer S51, an activation function S52 (GeLU activation), and a normalization layer S53 (BatchNorm).
[0127] Note that a residual connection is used between each ResUnit to maintain stable model training. For the S51 convolution layer, or step, a step parameter (or "stride") set to 1 is used to keep the time dimension unchanged.
[0128] For each residual unit ie[l,...,4], we use a dilation parameter D=2i increasing exponentially with the depth i of the residual unit.
[0129] This expansion rate determines the number of spaces between the elements of the convolution kernel. Thus, an expansion rate of D means that there are Dl zeros inserted between each element of the kernel.
[0130] Using dilation allows the filter to cover a larger region of the input without increasing the kernel size or the number of parameters, which is useful for capturing information at different scales. A dilated convolutional block thus expands the receptive field of convolutional neural networks without increasing computational complexity.
[0131] The S52 activation layer, or step, can be a GELU activation layer (for "Gaussian Error Linear Unit" in English, or "Unité Linéaire d'Erreur Gaussienne" in French).
[0132] The GELU function applies probabilistic activation while taking into account the normal (or Gaussian) distribution of the inputs. It combines properties of linear and nonlinear activation functions in such a way as to retain the advantages of each.
[0133] The S53 layer, or step, is a batch normalization layer. This normalization technique was proposed in the article by Loffe, S., & Szegedy, C. (2015), “Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift” in Proceedings of the 32nd International Conference on Machine Learning (ICML-15) (pp. 448-456).
[0134] This layer standardizes activations (S52) by recentering and resizing them. This reduces the problem of internal covariant shift, which occurs when the activation distribution of a layer changes during training. By stabilizing the activations, batch normalization allows for higher learning rates and accelerates convergence.
[0135] In an S6 step, the statistical metrics are projected into a vector of MS statistics. This projection can be based on a neural network trained on a training set corresponding to the individual equipment considered: as detailed previously, predictive models are trained equipment by equipment during a training phase and are therefore specialized.
[0136] In particular, according to one embodiment, the projection step S6 can be implemented by using a learnable linear transformation matrix V / 1 2xd (The value 2 arises from the fact that, according to one embodiment, two statistical metrics are used: the mean and the standard deviation). The output of this step, or block, thus yields a vector of size d, as illustrated in Figure 4.
[0137] In step S7, the results of steps S4, S5 and S6 are concatenated to provide input data to a transformation neural network.
[0138] In other words, we concatenate the positional encoding matrix MEP, the feature matrix MF and the statistics vector MS.
[0139] This concatenation is performed so that the values of the positional encoding matrix MEP are positioned in the same column as the corresponding values of the feature matrix MF (i.e., corresponding to the same position i of the input data X). The concatenation of these two matrices therefore forms a matrix of dimensions wxd.
[0140] Furthermore, the MS statistics vector is concatenated as an additional column to this MF | MEP matrix.
[0141] The final ME matrix is therefore a matrix of dimensions (w+l)xd.
[0142] This final matrix, or ME input matrix, is then fed into a transformation neural network. This transformation neural network, or "transformer," is designed to infer, in an S8 step, a temporal sequence corresponding to the individual piece of equipment under consideration.
[0143] To do this, it may have been previously trained on a training set corresponding to that individual piece of equipment in question.
[0144] As mentioned previously, in machine learning, a transformer is a neural network architecture introduced by Vaswani et al. in their 2017 paper entitled "Attention is All You Need". Transformers allow for the efficient capture of long-range dependencies in data sequences through a self-attention mechanism.
[0145] In one embodiment, the transformation neural network consists of several blocks, each made up of the same elements. For example, it can consist of 3 successive blocks.
[0146] The number of blocks (for example, 3) is determined empirically by conducting experiments and measuring performance metrics. This number can vary depending on the dataset and the type of device. The model may therefore differ, structurally, depending on the equipment from which the curve is to be extracted. According to an embodiment illustrated in Figure 6, each block comprises a normalization element S81, a self-attention element S82, a new normalization element S83, and a dense network element S84.
[0147] Figure 6 illustrates the transformation neural network as a succession of elements (i.e., a set of neuronal layers), but (as with Figure 5) each element can also be considered a step in a process. Therefore, this figure can be viewed both as a functional architecture and as a flowchart.
[0148] The S81 element therefore represents a layer normalization element, "LayerNorm".
[0149] Layer normalization ("LayerNorm") was introduced in the article by Ba, Jimmy Lei, Jamie Ryan Kiros, and Geoffrey E. Hinton, "Layer Normalization", arXiv preprint arXiv:1607.06450 (2016). This feature helps to stabilize and accelerate the training of neural networks.
[0150] The second element, S82, is a self-attention element.
[0151] In one embodiment, the self-attention element is a multi-head attention mechanism implementing multi-scale dynamic attention (DIVISA, for "Diagonally Masked Self Attention," introduced by S. Lee and B.C. Song in "Improving Vision Transformers to Learn Small-Size Dataset From Scratch," in IEEE Access, vol. 10, pp. 123212-123224, 2022). This mechanism can be used in place of the original attention mechanism. The difference between the original attention mechanism and this one lies in the application of a diagonal "mask" in the attention matrix. The diagonal mask is used to restrict attention primarily to "other" elements, which is particularly useful in tasks where interdependence (i.e., an element's attention to itself) does not need to be considered.
[0152] This type of mechanism has been shown to improve the performance of models using Transformer layers on smaller datasets. Furthermore, its effectiveness has been demonstrated on electricity consumption time series.
[0153] Figure 7 schematically illustrates such a multi-scale dynamic attention mechanism. It diagrams a possible implementation of step / element S82.
[0154] The S821 step corresponds to a dot product and scaling step. It takes queries (Q for "query") and keys (K for "key") as input.
[0155] Step S822 corresponds to the application of the diagonal mask (“DiagMask”).
[0156] Step S823 corresponds to the application of a Softmax function.
[0157] Step S824 corresponds to a final dot product step between the values from steps S821-S823 providing attention and the V values (for "Value" in English).
[0158] This mechanism is also described in the article "Improving Vision Transformers to Learn Small-Size Dataset From Scratch" presented previously.
[0159] The linear projections Q, K, V may correspond to the state of the art in the field of transformers, in particular as described in the aforementioned article.
[0160] In an S83 step, a new normalization element is applied.
[0161] Finally, in an S84 step, a dense S84 network is applied. This dense network can be a positional fully-connected network. It can be a PFFN (Position-wise Feed-Forward Network). This type of network was described in the seminal article on attention mechanisms such as transformers, "Attention is All Your Need."
[0162] Using S8 inference, the output of this transformation neural network yields a representation (a matrix) corresponding to the individual piece of equipment under consideration. The representation obtained at the output of the transformation neural network is the same size as the input, i.e., a matrix of size (w+l)xd.
[0163] However, we can remove the data corresponding to the MS statistical vector and retain only those corresponding to the MF characteristic matrix and the MEP temporal encoding matrix, in order to obtain measurement values corresponding to the equipment under consideration with the associated temporal information. We thus obtain a matrix of size wxd.
[0164] In addition, a convolution step can be implemented to obtain a time sequence of the same dimension as the time sequence provided as input, i.e. wxl (a one-dimensional time series).
[0165] This convolution layer can be parameterized with a kernel of size 3, a padding of 1 and a stride of 1.
[0166] Finally, according to one embodiment, a denormalization step S9 can be performed on the time sequence corresponding to the individual equipment under consideration, using for this purpose projected values of the MS statistical vector using a learnable transformation matrix.
[0167] This learnable transformation matrix can be, in particular, a linear transformation matrix of dimension dx2, where 2 is the number of statistical metrics. This yields two projections: proj(p.) for the mean and proj(c) for the standard deviation. This step allows us to estimate, during model training, the mean and variance to apply in order to denormalize the output signal and to more accurately estimate the individual consumption curve of the device we are trying to predict.
[0168] The S9 denormalization can then use these proj(p.) and proj(c) values by performing the inverse transformation of that performed in step S3 in order to obtain output values consistent with those retrieved from the measuring device.
[0169] In the case where a Z-normalization was performed in step S3, the inverse transformation can therefore be applied:
[0170] Vi G [l,w],X £ = Z t x Proj(j) + Proj(a) We then obtain a series of values X t which forms the sequence of the disaggregated load curve for the individual equipment concerned and for a sequence provided as input.
[0171] Simply concatenate the X sequences t for a set of sequences in which the initial time series has been sliced to obtain the disaggregated load curve.
[0172] In one embodiment, this same process can be performed for a subset (or all) of the equipment located in a given room L. The electrical consumption of this room can then be characterized by obtaining the load curves for each piece of equipment in this subset. For example, a dwelling can thus be characterized by determining the load curves of the most energy-intensive equipment: electric vehicle charging station, heating or air conditioning units, water heater, etc.
[0173] The proposed solution has been tested and proven on several real-world disaggregation cases for the purpose of estimating energy quantity and detecting activation periods.
[0174] It should be noted that several metrics exist in the literature to compare the performance of disaggregation methods; we detail them initially below.
[0175] For each measurement, T represents the total number of intervals (number of time steps or number of days / weeks / months), with, y t the actual consumption value (measured or obtained from a database) and y t is the value predicted by the described process.
[0176] We can first define "classic" regression metrics MAE (for "Mean Average Error" in English, or mean absolute error) and RMSE (for "Root Mean Squared Error" in English, or mean squared error):
[0177] RMSE =
[0178] We can also define the precision P (or "accuracy" in English) from the true positive (TP), true negative (TN), false negative (EN) and false positive (FP) rates by: Tl
[0179] TP + TN P ~ TP + TN + FP + FN
[0180] We can also define an Fl score as follows: ri _ 2 x _ TP
[0181] 2TP + FP + FN
[0182] Total Energy Correctly Assigned (TECA) quantifies the accuracy of the predicted energy consumption for a piece of equipment.
[0183] It can be defined as follows:
[0184] The MR (Matching Ratio) is defined as the ratio of the overall accuracy of the match between the actual and estimated energy consumption for a piece of equipment. It can be defined as follows: 2 1 min (y t ,y t ) iXi max (ÿ t ,y t )
[0185] The normalized disaggregation error (NDE) is close to the RMSE and is defined as the normalized disaggregation error committed:
[0186] The Signal Aggregate Error (SAE) quantifies the variance of the energy prediction. It can be defined as:
[0187] Figures 8A, 8B and 8C illustrate results from public databases. They compare results using different methods of extracting the electrical consumption of an individual piece of equipment within a set of equipment according to the metrics mentioned above.
[0188] The different processes compared are:
[0189] NILMFormer: the method proposed in this patent application, BERT4NILM, BILSTM: previously presented, The "BIGRU" network, presented in the article by Cho, Kyunghyun, et al. "Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation." Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), 2014, pp. 1724-1734.
[0190] FCN (for "Fully Connected Network": a model based on a succession of convolution layers,
[0191] UNet NILM, proposed in the article by Anthony Faustine, Lucas Pereira, Hafsa Bousbiat, and Shridhar Kulkarni. 2020, "UNet-NILM: A Deep Neural Network for Multi-tasks Appliances State Detection and Power Estimation" in NILM. In Proceedings of the 5th International Workshop on Non-intrusive Load Monitoring (NILM'20). Association for Computing Machinery, New York, NY, USA, 84-88. https: / / doi.org / 10.1145 / 3427771.3427859.
[0192] Other processes exist, but this corpus forms a representative sample allowing us to highlight some advantages of the proposed process in terms of performance in extracting a load curve for a given piece of equipment.
[0193] Figures 8A-8C show that the performance of the proposed process, NILMFormer, surpasses that of other processes according to all metrics: it obtains the lowest (and most favorable) values for the MAE, RMSE, NDE, and SAE metrics, and the highest (and most favorable) values for the P, Fl, TECA, and MR metrics.
[0194] As mentioned previously, these results demonstrate the efficiency of the proposed process (“NILMFormer”) compared to other proposals, including for equipment already considered by the state of the art and on the basis of training from public learning bases (UKDALE, REFIT...).
[0195] Further experiments and tests were conducted with other equipment such as electric vehicle charging stations, water heaters, and heating appliances. For this purpose, the various predictive models (neural networks) were trained on training sets constructed as previously described. Figure 9 illustrates the extraction of the load curve for equipment such as an electric vehicle charging station.
[0196] The upper section shows the evolution of the aggregate power consumed (in watts) over time (in 30-second increments) for a set of equipment. This is a load curve that can be measured by a measuring device corresponding to a room, or PDL (delivery point).
[0197] Below are represented on the one hand (in solid line) the load curve of the charging station as measured by a measuring device associated with this station (which therefore represents the "ground truth"), and in dotted line a load curve extracted by the process which has just been described.
[0198] We can see a very strong correlation between these two curves, which are almost superimposed.
[0199] Similar results were obtained for other types of equipment tested, including water heaters and heating equipment.
[0200] By determining the TECA performance for tests based on three types of equipment, the results obtained are also very convincing, with an average of 85% of the monthly energy quantity correctly estimated (up to 90% for domestic hot water) and more than 70% of the energy quantity correctly estimated for each time step. These results confirm the viability of using the proposed method in a real-world energy estimation context for at least these three different appliances.
[0201] Extracting the power consumption of an individual piece of equipment within a group of devices allows for various practical applications. As mentioned previously, consumption curves can be extracted for multiple pieces of equipment, thus enabling the characterization of a room's power consumption.
[0202] This extraction (or characterization) for a local L is important for several reasons, and can be exploited in different ways.
[0203] From a general perspective, this extraction method is of great interest, both from a purely scientific and a technological standpoint. In particular, it helps to manage energy consumption from the perspective of the consumer, the energy supplier, and the environment as a whole. This last point addresses current and future requirements regarding the environmental impact of energy consumption by users (both residential and industrial).
[0204] Furthermore, in order to design smart buildings, more efficient distribution systems, and so on, it is important for the scientific community to have access to more precise and numerous metrics. Such a mechanism for extracting electricity consumption data from a household or business can contribute to building a knowledge base that facilitates research and development in these areas. Extracting and / or characterizing electricity consumption can be used to optimize energy production for the electricity provider.
[0205] The characteristics of a large number of end consumers can be transmitted, in anonymized form, to a concentrator that can compile consumption statistics. This concentrator can be an application module on a service platform accessible to the energy supplier.
[0206] As an example, it is possible to establish an average consumption, or activation, curve per type of equipment.
[0207] Based on these statistics, the energy supplier can adapt its production network. In particular, it can build a reliable forecast of customer usage and thus anticipate increases in load at its production points or, conversely, decreases in load, thereby allowing it to reduce its exposure to speculative risks in the inter-producer electricity market.
[0208] For example, it can characterize a peak load related to electric vehicle charging stations at the end of the day, and search for mechanisms to respond to it.
[0209] The characterization process can therefore enable energy suppliers to optimize energy production, particularly by avoiding waste through overproduction, thanks to the transmission of characterization data to a service platform accessible to the energy supplier. Furthermore, an optimization module can be integrated into the GTW gateway or the S service platform to allow for the optimization of the Ei, E2, E3, and E equipment fleets. n located in a specific location L based on consumption data obtained from predictive models.
[0210] Preferably, the optimization module is embedded (as a software or application module) within the GTW gateway. This allows optimization to be performed based on locally available information, thus minimizing data transmission to the internet, which is beneficial for managing personal data and conserving bandwidth and network resources. Furthermore, optimization can continue even if the connection to the telecommunications network and the S service platform is interrupted.
[0211] The optimization module can determine control orders for one or more pieces of equipment among those connected to the network in order to respond to these internal or external constraints of the specified room L, or of the building to which the specified room L belongs.
[0212] In particular, a possible constraint may be to balance consumption, or at least to constrain fluctuations in consumption beyond a given threshold.
[0213] Thus, in the event of a consumption peak (detectable from the consumption curve provided by measurement device C), characterizing the electrical consumption across the equipment fleet can help determine a probable cause of this peak (either through consumption data or, failing that, through activation data). It is then possible to define control commands to smooth out electrical consumption.
[0214] For example, some equipment can be temporarily switched off or forced into a less power-consuming state, for a duration corresponding to the activity of the equipment that was the source of the peak consumption.
[0215] As an illustrative example, a kitchen heating system can be lowered when an oven is switched on: its operating time is limited so that lowering the heating is not very detrimental to the inhabitants.
[0216] Furthermore, characterizing consumption allows us to identify the share of energy consumption per piece of equipment and thus provide an energy cost for each. This enables us to suggest specific energy-saving measures to the user for each piece of equipment and to provide a precise return on investment timeframe, since it is possible to know the energy and financial contribution associated with each piece of equipment: it is therefore possible to indicate a potential saving on their energy bill by lowering the heating by one degree.
[0217] Similarly, the characterization of electrical equipment over a given time window can be one of the inputs for a load control model based on energy predictions that take this characterization as input. For example, this control model could send commands to turn electrical devices on or off based on past characterization data.
[0218] Furthermore, the optimization module can provide the user with a representative overview of consumption and activation data for all equipment. This data can be aggregated and consolidated to provide a comprehensive view of their electricity usage.
[0219] The optimization module can detect optimization opportunities and, possibly after validation by a user from local L, transmit appropriate command orders.
[0220] For example, it can detect standby equipment and electricity consumers: plugged-in household appliances, for instance. It can also identify heating systems used at night. In some cases, it may be beneficial to limit these uses, and the MO optimization module can suggest control commands aimed at reducing this consumption without impacting the comfort of the occupants (or at least with an energy savings / comfort loss ratio greater than one).
[0221] Of course, other optimization scenarios can be implemented by the optimization module, taking advantage of the detailed knowledge of the electrical uses of the premises obtained by the characterization process described.
[0222] Several other use cases are also described in the scientific and commercial literature related to non-intrusive load characterization (NILM). It is clear that the characterization obtained by the GTW gateway enables the optimization of electricity consumption for consumers and the optimization of electricity production for power providers.
[0223] Of course, the present invention is not limited to the examples and embodiment described and illustrated, but is defined by the claims. In particular, it is susceptible of numerous variations accessible to those skilled in the art.
Claims
34 DEMANDS 1. Method for extracting the electrical consumption of an individual piece of equipment within a set of equipment (E1, E2, E3, E1). n) located in a specified location (L), said process comprising the transformation of a stream of measurement values of an overall electrical consumption of said set, provided by a measuring device (C) associated with said specified location (L), into a time series, and a partitioning (SI) of said time series into a set of sequences, then, for each sequence, the steps of: determination (S2) of statistical metrics, allowing to normalize (S3) said sequence; generation (S4) of a positional encoding matrix (PEM) from time values associated with the values of said sequence; extraction (S5) of features from said normalized sequence to form a feature matrix (FM); projection (S6) of said statistical metrics into a statistics vector (MS);concatenation (S7) of said positional encoding matrix (PEM), said feature matrix (FM) and said statistics vector (MS) to form an input matrix (EM) supplied to a transformation neural network intended to infer (S8) a temporal sequence corresponding to said individual equipment.; 2. A method according to the preceding claim, wherein said positional encoding matrix and said feature matrix have a width equal to the number (w) of values in said sequence and the sum (d) of their height is equal to the height of said statistic vector (MS), so that said input matrix (ME) has dimension (w+l)xd. 35 3. A method according to any one of the preceding claims, wherein at least one step among the extraction (S5), projection (S6) and inference (S8) steps is based on a neural network trained on a training set corresponding to said individual equipment.
4. A method according to any one of the preceding claims, wherein said generation step (S4) of a positional encoding matrix (PEM) comprises a first projection of said time values into a sinusoidal basis, and a second projection into a space one of whose dimensions is substantially smaller (d / 4) than the corresponding dimension (3d / 4) of said feature matrix (FM).
5. A method according to any one of the preceding claims, wherein said extraction step (S5) is implemented by a dilated convolution block.
6. A method according to any one of the preceding claims, further comprising a denormalization step (S9) of said time sequence corresponding to said individual equipment using projected values of said statistical vector (MS) using a learnable transformation matrix.
7. Method for characterizing electrical consumption comprising an implementation of the extraction method according to one of the preceding claims for at least a subset of said set of equipment.
8. Equipment (S), comprising at least one processor adapted to implement a method according to one of the preceding claims.
9. Computer program capable of being implemented on a server (S), the program comprising code instructions which, when executed by a processor, carries out the steps of the process defined in claims 1 to 7.
10. Data carrier on which at least one series of program code instructions for the execution of a method according to one of claims 1 to 7 has been stored.