Adaptive forecasting system

An adaptive control system with a neural network addresses the challenge of adapting to changing consumption habits by continuously learning, ensuring efficient resource provisioning.

FR3166460A1Pending Publication Date: 2026-03-20COMMISSARIAT A LENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES +3
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
FR · FR
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-13
Publication Date
2026-03-20

AI Technical Summary

Technical Problem

Consumption forecasting models struggle to adapt to changes in consumption habits, leading to inefficiencies in resource provisioning.

Method used

An adaptive control system utilizing a neural network with incremental learning and self-associative components to generate resource estimates, adjusting to changing consumption patterns.

Benefits of technology

The system effectively anticipates resource needs, minimizing waste and optimizing resource availability by continuously learning from new data, reducing the risk of forgetting past habits.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

Adaptive Forecasting System This description concerns a control system configured to supply and / or receive, in a buffer tank, a quantity of a resource destined for or received from a target system (102). The control system comprises: - at least one sensor (106) configured to periodically measure, within a first time interval, quantities of the resource supplied and / or received; - a processing device (110) configured to perform a processing operation on the measurements taken by the at least one sensor. This processing operation corresponds to the generation of a first time series whose values ​​are sums of the quantities measured at several time instants. The processing device further comprises a neural network (202) to generate at least one quantity estimate based on the first time series and to control an actuator (108). Figure for the abstract: Fig. 1A
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: Adaptive forecasting system technical field

[0001] This description relates generally to adaptive prediction systems, and in particular to an adaptive system for the provisioning of resources. Previous technique

[0002] Consumption forecasting models and systems, for example for the consumption of a fluid such as domestic hot water, make it possible to provide a forecast of the quantity of the resource that will be required later. For example, such models make it possible to predict the hot water consumption of a building day after day. These forecasts make it possible, for example, to anticipate the production of the resource, for example, to anticipate the volume of water to be heated. The forecasts made thus make it possible to achieve production savings.

[0003] It is desirable that such models and systems be able to adapt to changes in consumption habits, without forgetting past habits.

[0004] There is a need for a system configured to make a resource available while adapting to changes in consumption habits. Summary of the invention

[0005] According to one embodiment, a control system is provided that is configured to supply and / or receive, in a buffer tank, a quantity of a resource destined for or received from a target system, the control system comprising: - at least one sensor configured to measure, periodically and in an initial time interval, quantities of the resource supplied and / or received; - a processing device configured to perform a processing operation on the measurements taken by at least one sensor, the processing operation corresponding to the generation of a first time series whose values ​​are sums of the quantities measured at several time instants; the processing device further comprising a neural network, configured to receive the first time series, to generate at least one quantity estimate based on the first time series, and to control an actuator causing the preparation of the buffer tank for the supply and / or recovery of the estimated quantity of resource to or from the target system.

[0006] According to one embodiment, the processing device is configured to reset the values ​​of the first time series periodically, for example every 24 hours.

[0007] According to one embodiment, the neural network includes a predictive part configured to generate quantity estimates over a predetermined time horizon, for a time interval subsequent to the first time interval.

[0008] According to one embodiment, the training of the neural network is carried out according to an incremental learning process.

[0009] According to one embodiment, the neural network further comprises a self-associative part configured to generate a second time series on the basis of the first time series, the second time series being used as pseudo-data in the incremental learning process.

[0010] According to one embodiment, the predictive part of the neural network comprises at least one dense layer.

[0011] According to one embodiment, the processing device comprises a processing unit including the neural network and a control unit configured to control the actuator, the processing unit being further configured to normalize the estimates generated by the incremental neural network before providing them to the control unit.

[0012] According to one embodiment, the neural network includes an attentional layer.

[0013] According to one embodiment, the neural network comprises two subnetworks, each comprising a self-associative part and a predictive part and configured to perform a learning transfer operation from one to the other.

[0014] According to one embodiment, at least one actuator is configured to activate the production and / or absorption of the resource in the buffer tank from or to a raw resource, the resource being taken from the tank or brought into the tank to / from the target system intermittently.

[0015] According to one embodiment, the actuator is a means of heating a fluid and the resource is said fluid heated to one or more predefined temperatures.

[0016] According to one embodiment, at least one sensor is a flow meter configured to measure the flow rate of the heated fluid consumed by a building, at regular time intervals, for example every 30 minutes.

[0017] According to one embodiment, the actuator is a generator set or an electrical energy converter into another form of storable energy and the resource is electrical energy stored in a battery constituting said buffer tank.

[0018] According to one embodiment, a method for controlling a target system configured to provide a quantity of a resource is provided, the method comprising: - the measurement, periodically and in a first time interval, by at least one sensor of a control system, of a quantity of resource used; - the supply of the measured quantity to a processing device; - the application, by the processing device, of a processing operation on the measurements taken by at least one sensor, corresponding to the generation of a first time series whose values ​​are the sums of the measured quantities; - the generation, by a neural network of the processing device and based on the first time series, of an estimate of the quantity of resource; and - the control, by the processing device, of an actuator of the piloting system, causing the preparation of the buffer tank for the supply and / or recovery of the estimated quantity of resource to or from the target system.

[0019] According to one embodiment, the neural network training is updated on the basis of the first time series.

[0020] According to one embodiment, the neural network comprises: - a predictive component configured to generate quantity estimates over a predetermined time horizon, for a time interval subsequent to the first time interval; and - a self-associative part configured to generate a second time series based on the first time series, the second time series being used as pseudo-data in an incremental learning process. Brief description of the drawings

[0021] These features and advantages, as well as others, will be described in detail in the following description of particular embodiments, given by way of non-limiting example, in relation to the accompanying figures, among which:

[0022] [Fig.1A] is a block diagram representing an adaptive system, according to an embodiment of the present description;

[0023] [Fig.1B] is a block diagram representing in more detail a part of the adaptive system illustrated in [Fig.1A];

[0024] [Fig.1C] is a block diagram representing examples of environments to which the embodiments of this description apply;

[0025] [Fig.2] schematically illustrates data processing steps, according to one embodiment of the present description;

[0026] [Fig.3] illustrates an architecture of a neural network used in an incremental learning process, according to an embodiment of the present description;

[0027] [Fig.4] represents three phases in a process of retaining old memories in an artificial neural network;

[0028] [Fig.5] schematically represents an example of an artificial neural network whose training is carried out according to an incremental learning process;

[0029] Figure 6 is a graph illustrating the mean absolute error between estimates made for hot water consumption in a building and actual consumption;

[0030] [Fig.7] is a graph representing consumption estimated by the system and actual consumption;

[0031] [Fig.8A] is a graph illustrating an example of input data to the artificial neural network;

[0032] [Fig.8B] is a graph illustrating an example of input data to the artificial neural network;

[0033] [Fig. 9A] is a graph representing consumption estimated by a system implementing an adaptive neural network, according to an embodiment of the present description; and

[0034] [Fig.9B] is a graph representing an estimated consumption by the system, according to an embodiment of the present description. Description of the implementation methods

[0035] The same elements have been designated by the same reference numerals in the different figures. In particular, the structural and / or functional elements common to the different embodiments may have the same reference numerals and may have identical structural, dimensional and material properties.

[0036] For the sake of clarity, only the steps and elements useful for understanding the described embodiments have been shown and are detailed. In particular, techniques for training an artificial neural network, based for example on minimizing an objective function such as a cost function, are known to those skilled in the art and will not be described in detail.

[0037] Unless otherwise specified, when referring to two elements connected together, this means directly connected without intermediate elements other than conductors, and when referring to two elements connected (in English "coupled") together, this means that these two elements can be connected or linked through one or more other elements.

[0038] In the following description, when referring to absolute positional qualifiers, such as the terms "front", "back", "top", "bottom", "left", "right", etc., or relative positional qualifiers, such as the terms "above", "below", "superior", "inferior", etc., or to Orientation qualifiers, such as the terms "horizontal", "vertical", etc., refer to the orientation of the figures unless otherwise specified.

[0039] Unless otherwise specified, the expressions "approximately", "roughly", and "on the order of" mean to within 10% or 10°, preferably to within 5% or 5°.

[0040] Although the following description of examples of embodiments are based on a multi-head attention artificial neural network (MHA) architecture, commonly used as a basic building block of transformer networks, it will be clear to the person skilled in the art that the principles can be applied more broadly to any artificial neural network (ANN), whether fully interconnected or not, such as a convolutional neural network (CNN), or any other type of artificial neural network.

[0041] In the following description, it will be assumed that the following terms have the following definitions: - "real input data" or "samples of input data": samples of data collected and used for training an ANN, this input data being designated as "real" since it is not computer-generated data, and is therefore not synthetic; - "random sample": synthetic sample generated by computer on the basis of random or pseudo-random values; - "training data": any data (real or synthetic) that can be used for training one or more neural networks; - "synthetic data" or "pseudo-data": synthetic data, for example computer-generated, that can be used as training data, this data including for example at least pseudo-samples, and in the case of training a classifier, pseudo-labels associated with the pseudo-samples; - "pseudo-sample": a computer-generated synthetic sample produced using a guided data generation process or preprocessing; and - "self-associative": the function of reproducing inputs, as in an autocoder. However, the term autocoder is often associated with an ANN that must perform some compression, for example, involving latent space compression, meaning that the one or more hidden layers contain fewer neurons than the number of neurons in the input space. In other words, the input space is incorporated into a smaller space. The term "self-associative" is used here to refer to a replication function similar to that of an autocoder, but a self-associative function is more general in that it may or may not involve compression.

[0042] Figure 1A is a block diagram representing an adaptive system 100, according to an embodiment of this description. In particular, the adaptive system 100 comprises a target system 102 (ENVIRONMENT). By way of example, the target system 102 is a system configured to make available to, or retrieve from, one or more users, a resource such as a fluid, for example, water, gas, gasoline, etc. In another example, the resource is electricity. The target system 102 is further configured, for example, to perform an action on said resource, for example, a compression action in a preparation tank, before making it available to the user(s), or for example, a preparation action of a receptacle (emptying a tank), before retrieving it from the user(s).As an example, target system 102 is a heating system, such as a heat pump for domestic hot water, heating hot water, or coolant. Generally, a resource is one that, within the application context, is consumed / produced intermittently by users and degrades over time in a pre-use or post-use storage tank. For example, domestic hot water is consumed sporadically and intermittently by building occupants. Furthermore, once the water is heated by the heat pump, heat loss causes the hot water to cool down. Regenerating hot water is then costly, and it is therefore desirable for the system to be configured so that the necessary quantity of the resource, after being manipulated by the actuator, is available in a storage tank when a consumer demands it.

[0043] The adaptive system 100 further includes a control system comprising a hardware block 104 (HW) and a processing device 110.

[0044] The hardware block 104 includes, for example, one or more sensors 106. The hardware block further includes one or more actuators 108 configured to act on the resource or on the system 102 in connection with a buffer tank not shown.

[0045] The processing device 110 comprises a processing unit 112 (ALGORITHMS) configured to receive signals captured by one or more sensors 106 and to execute program instructions in order to apply algorithms to the captured signals, and a control unit 114 (CTRL) configured to generate control signals from one or more actuators 108. As a variant, the processing unit 112 and the control unit 114 are a single functional block, for example a computer configured to perform the functions of both the processing unit 112 and the control unit 114.

[0046] In the example where the target system 102 includes a heat pump, the sensor(s) 106 are, for example, configured to measure an indoor temperature of a building. The sensor(s) 106 are, for example, further configured to measure an outside temperature. The sensor(s) 106 also include, for example, a flow meter configured to measure the flow rate of the heated fluid supplied by the heat pump to the building. The sensor(s) are further configured to provide the measurements taken as input data to the processing unit 112. The processing unit 112 is then configured to generate an estimate of the fluid consumption by the building for a future time horizon. These estimates are provided to the control unit 114. The control unit 114 is then configured to, at the time horizon, control the actuator(s) 108 to supply the building with the estimated quantity of fluid, by acting on the actuators prior to the delivery or receipt of a resource.

[0047] In another example, the sensor(s) 106 are indoor and / or outdoor temperature sensors of a heating and / or cooling system, including, for example, a heat pump as the main energy source. In such a case, the actuator(s) 108 are, for example, activation circuits that activate the heating or cooling systems.

[0048] In other examples, the actuator(s) 108 include, for example, an electronic actuator, for example configured to control the operation of one or more circuits, such as waking a circuit from standby mode, or putting a circuit into standby mode. In another example, the actuator(s) 108 include, for example, a system configured to control a production or absorption rate of the resource in question. In yet another example, the actuator(s) 108 are configured to adjust and / or activate and / or deactivate the production / absorption of the resource, in relation to a buffer tank.

[0049] In the example where the target system 102 is a heat pump configured to supply domestic hot water to a building, the sensor(s) 106 are configured to measure the hot water consumption of the building at regular time intervals on the order of ten minutes, for example, at time intervals between 5 and 40 minutes inclusive. The control unit 114, acting on the command of the processing unit 112, is then configured to generate estimates of hot water consumption at different time horizons, for example, at 0.5 hours, 1 hour, 2 hours, 6 hours, 12 hours, 18 hours, and 24 hours. This multi-time horizon estimation is implemented to allow the control unit 114 to update its commands based on the latest prediction. In one example, the estimates are performed at varying frequencies.In other examples, the estimates are performed periodically, for example once or several times a day or once or several times a week. As an example, the system is also capable of updating these estimates.

[0050] The control unit 114 is then configured to command the actuator(s) 108 so that the estimated quantity of hot water is available at the associated time. For example, the actuator(s) 108 are water heating means, and the control unit 114 causes them to operate at a delayed time so that the estimated quantity of the modified resource is available in the tank at the associated time.

[0051] Generally, the system 100 is a system configured to control a device that provides or retrieves a resource whose consumption or production varies over the course of a day, a week, etc. The control is based on estimates made by the control unit 114 regarding the command from the processing unit 112. In one embodiment, the processing unit 112 implements an adaptive algorithm and, for example, creates an artificial neural network whose training is performed incrementally. In other words, the artificial neural network created by the processing unit 112 is configured to adapt to new data, for example, data measured by the sensor(s) 106. The neural network learns continuously, for example, even when the neural network is performing inference tasks.Thus, the estimates generated by processing unit 112 take into account, for example, changes in resource consumption habits.

[0052] Continuous learning of the neural network is important in such applications in order to be able to adapt to previously unknown conditions, such as extreme temperatures, a move, building occupants returning from vacation, building occupants teleworking on a very cold day, changes in the habits of one or more building occupants, for example the birth of a child, etc.

[0053] [Fig. IB] is a block diagram showing in more detail the control system of the adaptive system 100 illustrated in [Fig. IA]. In particular, [Fig. IB] is a functional diagram showing the sensor(s) 106, the actuator(s) 108, and the processing device 110 implementing the processing and control units 112, 114. In some embodiments, the processing device 110 is a device combining artificial intelligence processing capabilities with edge computing.

[0054] The processing device 110 comprises, for example, one or more processors (P) 116 under the control of instructions stored in an instruction memory (IM) 118. In another example, the processing device 110 comprises one or more neural network acceleration units (NPUs – “Neural Processing Unit”), or graphics processing units (GPUs – “Graphics Processing Units”), under the control of instructions stored in the instruction memory 118. One or several processors 116, under instruction control from instruction memory 118, is for example configured to implement the functions of the processing unit 112 and the control unit 114.

[0055] Another memory (MEMORY) 120, for example included in the same memory device as memory 118, or in a separate memory device, stores an artificial neural network (ANN) 121 of the processing unit 112, so that a computer emulation of this artificial neural network is possible.

[0056] For example, the artificial neural network 121 is fully defined in memory 120, including the definition of the structure of the artificial neural network, i.e., the number of neurons in the input and output layers and in the hidden layers, the number of hidden layers, the activation functions applied by the neural circuits, etc. In addition, parameters of the artificial neural network 121, learned during training, such as its parameters and weights, are stored in memory 120. Thus, the artificial neural network 121 is trainable and / or usable in the computing environment of the processing device 110.

[0057] The memory 120, or another memory device coupled to the processing device 116, includes for example a buffer memory (BUFFER) 122.

[0058] In another example, the artificial neural network 121 implemented by the processing unit 112 is implemented at least partially by one or more hardware circuits represented by a dotted rectangle (ANN) 121 on [Fig.1B].

[0059] The processing device 110 further includes, for example, an input / output interface (I / O INTERFACE) 124 configured to receive new measurements, made by the sensor(s) 106. The input / output interface is, for example, further configured to provide control signals, for example generated by the control unit 114, to the actuator(s) 108 in order to control them.

[0060] By way of example, the processing device 110 is further configured to perform anomaly detection on samples of input data provided by the sensor(s) 106. Anomaly detection makes it possible, for example, to verify that the measurements are not aberrant, caused, for example, by a defective sensor. Anomaly detection also makes it possible to verify that the measurements are not corrupted or fraudulently modified, which could have a security impact.

[0061] The processing device 110 is further configured to perform pre-processing of the data measured by the sensor(s) 106. Indeed, the data measured by the sensor(s) 106 are, for example, mostly zero values, and the vectors comprising the input data are therefore sparse vectors. The pre-processing serves to accumulate the data over predefined time ranges. in order to generate relatively dense input vectors. For example, when the 106 sensor(s) are configured to measure domestic hot water consumption in a building, the data consists mainly of zero values. This is because domestic hot water is generally consumed intermittently. However, training an adaptive artificial neural network on input data consisting mostly of zero values ​​leads to overfitting of the zero values. This overfitting risks causing the artificial neural network to predict many zero values ​​if no preprocessing such as the one proposed is performed.

[0062] A common drawback of adaptive neural networks is that it is often difficult to obtain a trained model while retaining previously learned information. This phenomenon of forgetting past learning is known as "catastrophic forgetting." However, the use of an incremental training method allows the predictive model to learn new consumption habits without forgetting previous learning.

[0063] The [Fig.lC] is a block diagram representing examples of environments 102 to which the embodiments of this description apply.

[0064] Generally, the actuator(s) 108 are configured to act on a raw resource 126 (SOURCE). The actuator(s) 108 (ACTUATORS) are configured to act on a resource processing apparatus 127 (RESSOURCE PROCESSING APPARATUS) which acts on the raw resource to produce or recover a consumable resource 128 (CONSUMABLES RESERVOIR) stored in a reservoir. The consumption or receipt of the consumable resource 128 occurs intermittently. Furthermore, the consumable resource may deteriorate over time in the reservoir and / or the production (from the raw resource 126) and / or the transformation of the consumable resource (in the case of receipt) may result in energy consumption by the actuators.It is therefore important that the actuator(s) 108 act in a timely manner so that the correct amount of consumable resource 128 is available in the buffer tank when required, while minimizing energy losses as much as possible.

[0065] By way of example, environment 102 is a building including a heat pump. As described in relation to [Fig. 1A], the sensor(s) 106 are configured to measure, among other things, the flow rate of domestic hot water or heating water consumed by the building and to provide these measurements to the treatment device 110. The treatment device 110 is configured to estimate hot water consumption over a time horizon. The actuator(s) 108 activate, for example, the building's heat pump. The heat pump is, for example, connected to a water network or a water tank. The heat pump is then The system is configured to heat a quantity of water to a given temperature and store it in a tank, under the control of unit 114. For example, the quantity of water to be heated is determined by estimates produced by processing unit 110. For example, the temperature to which the water is heated does not depend on these estimates and can be programmed directly on the heat pump. Furthermore, the heat pump takes a certain amount of time, for example, from a few minutes to a few hours, to heat the water. Therefore, hot water production should be planned in advance so that it is immediately available when a building occupant requests it.

[0066] The heated hot water then corresponds to the consumable resource 128 and is, for example, stored in a tank or reservoir of the heat pump, or in a tank or reservoir connected to the building. Once heated and stored, the hot water is subject to heat loss. This phenomenon is accentuated, for example, when the hot water storage tank is poorly insulated, when the outside temperature of the tank is low, etc. It is therefore preferable that the hot water be consumed quickly and not remain stored in the tank or reservoir for too long.

[0067] In another example, the environment 102 is a power supply system comprising, for example, a buffer battery. The consumable resource 128 corresponds, for example, to electrical energy stored in the buffer battery. In this example, the actuator(s) 108 act, for example, on a generator set configured to generate electricity and store it in the buffer battery, or act on a "reverse generator set" that converts electricity into another form of energy to draw it from the buffer battery and convert it into another form in a raw resource reservoir. The generator set or its reverse is configured to produce or recover electrical energy from a raw resource 126 such as, for example, a fuel like gasoline, natural gas, liquefied petroleum gas, biofuel, fuel oil, etc., or from or to a raw resource 126 such as, for example, hydrogen, water raised in a hydroelectric dam, etc.

[0068] In one application example, the buffer battery is used to recover energy from an electrical grid and absorbs surges in electricity production from power generation sources such as wind turbines, solar panels, or others. The same buffer battery can be used to store electrical energy prior to consumption. The buffer battery can rapidly absorb or deliver high currents. It is particularly useful in a system where converting energy to / from another type of energy storage (gas tank, hydroelectric dam, etc.) takes time and does not allow for the supply / absorption of high currents. High currents. In this case, the charge level of the buffer battery is managed, for example, based on the forecast of electricity consumption / receipt. Thus, if electricity is expected to be absorbed at a given time, then the battery must first be partially or fully discharged. Conversely, if electricity is expected to be supplied, then the battery must be charged beforehand. However, if an absorption operation is planned followed by a supply operation, a conversion operation by the actuators can be avoided for better overall energy efficiency.

[0069] The buffer battery supplies, for example, devices or systems intermittently, for example for lighting or heating purposes. Just like domestic hot water or heating, the consumption of the electrical energy stored in the buffer battery is variable and relatively "sporadic" in time, or it varies between values ​​with a large difference without the low values ​​being zero.

[0070] In addition, like domestic hot water heating or heating hot water, the use of the converter (generator set or reverse) is associated with a cost.

[0071] It is therefore necessary to anticipate the production / absorption of electrical energy in / from the buffer battery so that it is at the right level of filling according to future needs.

[0072] Fig. 2 schematically illustrates data processing steps carried out by the processing unit 112, according to an embodiment of the present description.

[0073] By way of example, the processing unit 112 includes a program module 200 (PRE-PROCESSING) implementing a data preprocessing step when executed by the processor(s) 116 of the processing device 110. When the resource is consumed intermittently, the measured data includes a majority of zero values; the preprocessing step includes accumulating the data over a period. Preprocessing thus avoids injecting zero values ​​into the algorithm. In particular, preprocessing includes, for example, accumulating the values ​​measured by the sensor(s) 106 over a time interval to generate a cumulative value. Preprocessing also includes grouping several successive cumulative values, thus forming a time series.For example, the time series includes cumulative values ​​generated over a sliding time window, for example, corresponding to a period of several hours or several days preceding the last measurement. As an example, the cumulative measurements are reset to 0 periodically, for example, every 24 hours.

[0074] The processing unit 112 further includes a program module 201 (ANOMALIES DETECTION) implementing an anomaly detection algorithm.

[0075] The processing unit 112 further includes a program module 202 implementing, when executed by the processor(s) 116 of the processing device 110, the artificial neural network 121, and a program module 204 (POST-PROCESSING) implementing, when executed by the processor(s) 116 of the processing device 110, a data post-processing step.

[0076] By way of example, the sensor(s) 106 are configured to provide measurements to the processing unit 112 as soon as they are taken. The processing unit 112 then receives, at regular time intervals, data corresponding to consumptions recorded during that time interval. For example, the processing unit 112 receives data every 30 minutes. The processing unit 112 is then configured to preprocess this data before it is processed by the artificial neural network 202.

[0077] Program module 201 is configured, for example, to detect whether the generated time series contain an anomaly. For instance, program module 201 is configured to detect whether the time series contains outliers, corrupted measurements, or fraudulent measurements, etc.

[0078] The neural network 202 is configured to provide an estimate based on the time series provided by the program 200. The generated estimate corresponds, for example, to an estimate of the consumption of resources, for example domestic hot water, which will be requested in time horizons of, for example, 0.5 hours, 1 hour, 2 hours, 6 hours, 12 hours, 18 hours, 24 hours.

[0079] In particular, the neural network implemented by program module 202 is a neural network whose learning is carried out incrementally. Neural network 202 is, for example, configured to receive new training data in parallel, or following the generation of estimates. The new data received encodes new information, for example, changes in resource consumption patterns. Thus, the adaptability of the neural network allows it to update itself to take the new information into account.

[0080] An example of a neural network whose learning is carried out using an incremental process is described below, with reference to Figures 3 to 5. In particular, the neural network implemented by program module 202 comprises, for example, two similar or identical artificial neural networks 202-1 and 202-2 (ANN + INCREMENTAL). By way of example, the two networks Neural networks 202-1 and 202-2 are of the MHA type. In particular, both neural networks 202-1 and 202-2 each include a predictive component and a self-associative component. Furthermore, both neural networks are configured to perform knowledge transfer operations between them.

[0081] By way of example, the post-processing step, implemented by program 204, includes the application of a pseudo-normalization adapted to the estimation.

[0082] Figure 3 illustrates a neural network architecture used in an incremental learning process, according to an embodiment of the present description. In particular, the neural network is an MHA-type network or comprises one or more attentional layers.

[0083] By way of example, the network inputs correspond to the cumulative domestic hot water consumption of the last six days, with a sampling rate of two measurements per hour. Generally, the network inputs correspond to measurements taken by the sensor(s) 106 that have been pre-processed.

[0084] By way of example, the network includes a 301 positional encoding layer. By way of example, such a layer is implemented as described in the 2017 article "Attention Is All You Need" by the authors Vaswani, A.; Shazeer, N.; Parmar, N.; Uszkoreit, J.; Jones, L.; Gomez, AN; Kaiser, L. and Polosukhin, I. In particular, the positional encoding layer allows the network to be told the current position in the time series.

[0085] The network further includes one or more 302 attention layers (MHA) configured to receive the output data from layer 300. By way of example, the cost function used to train the 302 layer(s) corresponds to the root mean square error between the output of the 302 layer(s) and the ground truth. In particular, the 302 layer(s) process the time series elements in parallel, thus capturing the global relationships between all the series elements in a single pass. Long-term and global dependencies are therefore taken into account.

[0086] By way of example, the network further includes one or more 304 normalization layers (ADD & NORM) to improve the convergence of the model. By way of example, such a layer is implemented as described in the 2017 article "Attention Is All You Need" by the authors Vaswani, A.; Shazeer, N.; Parmar, N.; Uszkoreit, J.; Jones, L.; Gomez, AN; Kaiser, L. and Polosukhin, I. for MHA-type networks.

[0087] The layer(s) 304 are further configured to provide their outputs to a self-associative part 306 (RECONSTRUCTION) configured to generate pseudo-data based on the data provided by the layer(s) 304. In particular, the layer(s) 306 comprise at least one dense layer. In particular, the self-associative part is configured to reproduce the input data.

[0088] By way of example, the cost function used for training the self-associative part corresponds to the mean squared error between the output of layer 306 and the ground truth.

[0089] The self-associative part of the network is similar to an autocoder. Autocoders are a type of artificial neural network known to those skilled in the art in which, rather than being trained to perform prediction or classification operations, they are trained to reproduce their inputs at the level of their outputs. As stated above, the term "self-associative" is used here to denote functionality similar to that of an autocoder, except that the latent space is not necessarily compressed. Furthermore, as with training an autocoder, it is possible to train the self-associative part of the artificial neural network with certain constraints to prevent the network from rapidly converging to the identity function, as is well known to those skilled in the art.

[0090] The artificial neural network further comprises a predictive part including, for example, dense layers. For example, the layer(s) 304 are further configured to provide their output to a predictive part comprising dense layers 308 (DENSE) and 310 (PREDICTION). The dense layer 308 is, for example, configured to identify non-linear relationships in the output of the attention layer(s) 302. The layer 310 is, for example, configured to perform non-linear regression operations, based on the relationships identified by the layer 308, in order to generate consumption estimates over time horizons. For example, to provide an estimate of domestic hot water consumption over time horizons of 0.5 hours, 1 hour, 2 hours, 6 hours, 12 hours, 18 hours, and 24 hours.As an example, the cost function used for training the predictive part corresponds to the mean squared error between the output of layer 310 and the ground truth, i.e., the actual consumption.

[0091] Although a specific example of a prediction model has been described, other prediction models are conceivable.

[0092] Figure 4 represents three phases in a method for retaining old memories in an artificial neural network. In particular, Figure 4 illustrates three phases implemented by an incremental learning algorithm. This method is implemented, for example, by the artificial neural network 202. This method is described in more detail in patent publication WO2022053474.

[0093] The process in [Fig.4] involves the use of two artificial neural networks referenced Net_1 and Net_2, implemented for example by the two networks 202-1 and 202-2. In some embodiments, the Net_l and Net_2 networks have, as a minimum level of similarity, the same number of neurons in their input layers and the same number of neurons in their output layers. In some embodiments, these networks also each have the same number of hidden layers and neurons. The architecture of the Net_l and Net_2 neural networks corresponds, for example, to the architecture described in relation to [Fig. 3].

[0094] Initially, the Net_1 and Net_2 networks have identical or relatively similar initial states, called State_O. The "state" of a network corresponds, for example, to particular values ​​of parameters and weights stored by the network.

[0095] In certain embodiments, for example, where Net_1 and Net_2 have the same architecture, the state of one of the networks is initialized to a random state, such as an initial state referred to herein as a "blank" state. For example, such a blank state implies that all the parameters and weights of the artificial neural network have been set to random values. This state is then copied into the other artificial neural network, for example, by copying each of the parameters and weights.

[0096] Alternatively, for example if the architectures of the Net_1 and Net_2 networks are different, the initial state of one of the networks is, for example, learned by the other. For example, the Net_2 network is initialized in a random blank state, and then this state is transferred to the Net_1 network during a pre-homogenization operation (not shown in [Fig.4]).

[0097] In a first phase (HOMOGENIZATION) 402, the Net_1 network is configured to learn from first new stimuli (FIRST STIMULI), as well as to learn the blank state State_0 from the Net_2 network, as represented by an arrow (TRANSFER) from the Net_2 network to the Net_1 network. The first new stimuli include, for example, one or more data points to be learned by the Net_1 network. The Net_2 network is configured, for example, to generate pseudo-data that describe its initial (blank) state. In some embodiments, a real sample, or a sample consisting of Gaussian noise, is applied to the Net_2 network, and one or more reinjections are performed in order to generate the pseudo-data based on pseudo-sample trajectories. The reinjection steps are described, for example, in patent publication WO2022053474 and below, in relation to [Fig. 5].For example, classic deep learning tools are used to allow new data, and pseudo-data from the Net_2 network, to be learned by the Net_1 network during this phase.

[0098] At the end of the first phase 402, the state of the network Net_l was modified from the initial state State_0 to a new state State_l.

[0099] In a second phase (SAVING) 404, the State_l of network Net_l is, for example, transferred to and stored in network Net_2, as represented by an arrow (TRANSFER) going from network Net_l to network Net_2. In the case where networks Net_l and Net_2 have the same depth and width, the parameters and weights are, for example, simply copied from network Net_l to network Net_2 to perform this transfer. A known technique for knowledge transfer is, for example, described in patent publication WO2022053474 and below, in relation to [Fig. 5].

[0100] Thus, after the second phase 404, the Net_2 network is, for example, capable of providing performance similar to that of the Net_1 network with regard to input reproduction and prediction. The Net_2 network is thus capable of generating old memories that were previously retained by the Net_1 network during a subsequent training session of the Net_1 network.

[0101] In a third phase (CONSOLIDATION) 406, second new stimuli (SECOND STIMULI) are applied to the Net_1 network, and the Net_1 network is configured to learn these second new stimuli as well as to relearn the State_1 stored by the Net_2 network, as represented by an arrow (TRANSFER) from the Net_2 network to the Net_1 network. The second new stimuli include, for example, one or more additional data items to be learned by the Net_1 network. The Net_2 network is configured, for example, to generate, via its self-associative part, for example via layer 306, pseudo-data that describe the stored State_1. In some embodiments, Gaussian noise is applied to the Net_2 network, and one or more reinjections are performed to generate the pseudo-data.For example, classic deep learning tools are used to allow new data, and pseudo-data from the Net_2 network, to be learned by the Net_1 network during this phase.

[0102] The training of the Net_l network during phases 402 and 406 is, for example, carried out on the basis of a certain ratio between the new stimulus data and the pseudo-data. For example, at least one pseudo-data sample is applied to the Net_l network for each new stimulus data sample that is applied, although the pseudo-data samples and the new stimulus samples can be grouped. For example, there could be up to 1000 new stimulus samples, followed by up to 1000 or more pseudo-data samples.

[0103] However, the influence of new stimulus data samples on the Net_l network is likely greater than the influence of pseudo-data samples, and consequently, in some embodiments there may be a greater proportion of pseudo-samples than new stimulus samples. By For example, in some embodiments, the ratio between new stimulus data samples and pseudo-data samples is at least 1 to 10, and for example at least 1 to 20. The ratio between the number of pseudo-samples and the number of new stimulus samples determines the stability and / or plasticity properties of the network formed by the two networks Net_1 and Net_2.

[0104] One advantage of training the Net_l network during the third phase 406 with both new stimuli and pseudo-data generated by the Net_2 network is that old memories can be learned simultaneously with the new stimuli. Indeed, doses of pseudo-data from the Net_2 network will cause the Net_l network to drift along the parameter space, seeking a solution that satisfies both the conditions of the new stimuli and the conditions of the pseudo-data. Thus, the Net_l network will be trained to adapt both old memories and new information to its model. Therefore, unlike an adaptive artificial neural network that receives only new data to learn, the Net_l network relearns its prior knowledge. The catastrophic forgetting phenomenon that occurs in adaptive networks is thus limited.

[0105] The process in [Fig. 4] corresponds, for example, to a learning phase of the Net_1 network during which it is trained, for example, by supervised learning. After phase 406, it is, in some cases, desirable to implement a new learning operation involving new stimuli, encoding, for example, changes in consumption habits. However, doing so may again risk causing the loss of information previously learned by the Net_1 network. Therefore, the process of phases 404 and 406, consisting of storing the state of the Net_1 network in the Net_2 network and carrying out the new learning in parallel with learning based on old memories, is repeated when new stimuli are introduced for learning.

[0106] Figure 5 schematically represents a 500 system for retaining old memories in a neural network. In particular, Figure 5 represents an example of the architecture of the neural networks Net_1 and Net_2 configured to implement the 402 and 406 learning phases on the fly.

[0107] By way of example, the Net_l network architecture is the architecture 300 described in relation to [Fig. 3]. In another example, the Net_l and Net_2 network architecture is the architecture 300 supplemented by one or more layers. Thus, the predictive parts of the Net_l and Net_2 networks are each configured to generate two-dimensional time series Y(PREDICT) comprising two vectors Y1 and Y2 based on an input X comprising, for example, two time-ordered input vectors XI and X2, defining a time series. In another example, the input X comprises only one value, corresponding for example to the last measured consumption cumulative with the consumptions measured over the same period. The predictive parts each include, for example, layers 308 and 310 described in relation to [Fig.3].

[0108] The goal of the neural network model defined by the Net_l network architecture is to approximate a certain function F: XF by adjusting a set of parameters defining the Net_l network. The parameters are, for example, modified during training based on an objective function, such as a cost function, like the mean squared error. For example, the objective function is based on the difference between a ground truth value and an output value. For example, the ground truth value corresponds to the actual consumption and the output value corresponds to the predicted consumption.

[0109] In one example, the network learning procedure Net_l is performed by backpropagation in order to learn the network parameters. During forward propagation, input values ​​X flow through the function and are multiplied by intermediate calculations defining a mapping function, in order to generate an output Y.

[0110] The Net_2 network has, for example, the same architecture as the Net_1 network, that is to say the same number of layers, and the same number of neurons on each layer and the same interconnection structure between the layers.

[0111] To reduce estimation errors due to the "catastrophic forgetting" phenomenon, both Net_1 and Net_2 networks include a self-associative component capable of reproducing the input data. These self-associative components include, for example, layer 306 described in relation to [Fig. 3]. Net_1 and Net_2 networks each implement a corresponding additional output (FEATURES) to generate a pseudo-sample output (X') reproducing the input sample. The pseudo-sample X' includes, for example, two time-ordered output vectors XI' and X2', defining a time series.

[0112] The Net_2 network is further configured to perform a reinjection (REINJECTION) from the self-associative outputs back to the network inputs. Such a reinjection is performed in order to generate synthetic training data, i.e., pseudo-data.

[0113] In some examples, the reinjection is performed by a data generator coupled to the artificial neural network. Such a data generator is described, for example, in patent publication WO2022053474. The self-associative part is used as a recursive function, in that its outputs are used as its inputs. This results in an output trajectory in which, after each reinjection, the generated samples contain information associated with the previous tasks and allow for a better capture of the function learned by the artificial neural network.

[0114] In the example of [Fig.5], the generation of pseudo-data (MEMORIES) by the Net_2 network, and the learning of the Net_1 network on the basis of these pseudo-data (MEMORIES FROM Net_2) and on the basis of new stimuli (NEW STIMULI), take place for example at least partially in parallel.

[0115] The transfer from network Net_l to network Net_2, performed in step 404, is carried out, for example, using the same approach as for the transfer from network Net_2 to network Net_l, except that networks Net_l and Net_2 are reversed. In this case, network Net_l is configured to generate pseudodata and also includes a reinjection path. In the example where networks Net_l and Net_2 have the same number of layers and the same number of neurons on each layer, the transfer is implemented, for example, by simply copying the learned parameters and learned weights from network Net_l to network Net_2.

[0116] The artificial neural network, implemented by program module 202, thus comprises two artificial neural networks with an architecture as described in relation to [Fig. 3]. The self-associative parts of the two networks are, for example, configured to perform the refeeding and knowledge transfer steps described in relation to Figures 4 and 5. For example, in operation, the first network is configured to receive real data, for example, time series generated from real data measured by sensor(s) 106. The second network is configured, for example, to receive the generated pseudo-data during the refeeding steps. For example, additional noise, for example, Gaussian noise, is added to the pseudo-data before its refeeding into the second network.

[0117] Figure 6 is a graph illustrating the mean absolute error (MAE) between estimates made at time horizons of 0.5 hours, 1 hour, 2 hours, 6 hours, 12 hours, 18 hours, and 24 hours for hot water consumption in a building and the actual consumption of that building at these time horizons for several tasks. Each task corresponds to a segmentation of the measured data over a period of, for example, one month.

[0118] Curves 602, 604, 606, and 608 illustrate, respectively, the mean absolute error for FineTuning, Dark Experience Replay, Experience Replay, and Offline adaptive neural networks. In particular, each point on each curve corresponds to an average over 5 executions of a task by a network. The 5 executions are, for example, performed from a different neural network initialization. As an example, each network initialization corresponds to a random selection of the parameters defining it.

[0119] Curve 610 illustrates the mean absolute error for a neural network, including a self-associative part and a predictive part. In particular, the network used is a so-called DreamNet, for example described in the publication "On the beneficial effects of reinjections for continual learning" by Solinas M., Rousset S., Galliere J., Mainsant M., Bourrier Y., Molnos A., Reyboz M. and Mermillod M., published in the SN Computer Science journal in 2022. Curves 612 and 614 illustrate the mean absolute error for a non-adaptive artificial neural network, respectively. In particular, curves 612 and 614 illustrate the results of an artificial neural network pre-trained on data obtained over 1 month and 3 months, respectively.

[0120] The two tables below show the mean and standard deviation of the mean absolute error for the aforementioned networks. In particular, the mean absolute error is averaged over the different prediction horizons. A first table [Table 1] illustrates the results obtained for estimating the domestic hot water consumption of a first building, and a second table [Table 2] illustrates the results obtained for estimating the domestic hot water consumption of a second building.

[0121] [Tables 1] Algorithm Mean MAE on dwelling A (Mean MAE on dwelling A) Standard deviation MAE on dwelling A (MAE standard deviation on dwelling A) Dream Net 24.805 6.929 DER 25.084 7.744 ER 25.041 6.967 Fine calibration (Finetuning) 24.423 6.822 Offline 22.695 7.449 First month of training 35.513 7.54 First three months of training 29.376 9.249

[0122] [Tables2] Algorithm Mean MAE on habitati on B (Mean MAE on dwellin g B) Standard deviation MAE on habitati on B (MAE standard deviation on Dwelling B) Dream Net 21.559 6.737 DER 21.457 7.328 ER 21.492 7.352 Fine Tuning 21.351 6.212 Offline 19.365 5.377 First month of training 35.950 5.736 First three months of training 29.458 6.617

[0123] The [Fig.7] is a graph 700 representing a consumption predicted by the system 100 adapted for domestic hot water consumption and the actual consumption.

[0124] A curve 702 illustrates the actual domestic hot water consumption in a building. As an example, this consumption is measured by sensor(s) 106 over a period of 10 days (DAYS). In this example, sensor(s) 106 are configured to measure consumption every 30 minutes. In particular, curve 702 shows a cumulative daily consumption. Curve 702 therefore has 10 steps, each representing the cumulative consumption over the course of a day.

[0125] A curve 704 illustrates a prediction at 6 a.m., for example made via a Dream Net type neural network.

[0126] Figures 8A and 8B are graphs illustrating examples of pseudo-input data for an adaptive neural network. As an example, curve 802 represents cumulative daily hot water consumption over 20 days. The data for curve 802 are constructed so that domestic hot water consumption occurs only on two consecutive days per week, for example, only on weekends. As an example, curve 804 represents cumulative daily hot water consumption over 20 days. The data for curve 804 are constructed so that domestic hot water consumption occurs on the same two consecutive days as for curve 802 and a third day of the week. The consumption illustrated by curve 804 occurs, for example, on Wednesdays and weekends. Curves 802 and 804 correspond to time series, for example pre-processed by program 200.

[0127] Figures 9A and 9B are graphs illustrating consumptions estimated by adaptive networks trained on the basis of the data shown in relation to Figures 8A and 8B. In particular, curve 902 illustrates the actual cumulative daily domestic hot water consumption over a 10-day period. As an example, this consumption is measured by sensor(s) 106.

[0128] Curves 904 and 906 represent, respectively, the cumulative daily consumption for the same period as curve 902, estimated by a network implementing a Finetuning algorithm and a DreamNet-type network, respectively. Both networks were, for example, pre-trained using the same datasets. Since both networks are adaptive, the consumption scenarios illustrated by curves 802 and 804 are provided to them alternately to refine their learning. In particular, for the first month, both networks adapted their learning based on hot water consumption occurring only on weekends, and then, for the second month, on hot water consumption occurring only on Wednesdays and weekends.

[0129] Curve 902 of actual consumption shows that for this ground truth, domestic hot water was consumed only on weekends, which corresponds to the scenario illustrated by curve 804.

[0130] Since the network implementing the Finetuning-type algorithm is not configured to mitigate the catastrophic omission phenomenon, it tends to forget the data provided in the first month, which only shows consumption on weekends, and has adapted only to the last scenario provided, in which consumption also occurs on Wednesdays. Thus, curve 904 illustrates an overestimation of consumption occurring on Wednesdays. Indeed, the network estimates that domestic hot water consumption on Wednesdays will be similar to that occurring on the two weekend days. The network has completely forgotten that some weeks no consumption occurs on Wednesdays.

[0131] Since the DreamNet type network is configured not to forget old habits, it estimates that domestic hot water consumption will take place on Wednesday; however, this estimate is much closer to reality than that of curve 904. The DreamNet type network, unlike the one implementing the Finetuning algorithm, has kept track of the fact that sometimes no water consumption takes place on Wednesday.

[0132] One advantage of the described embodiments is that they allow the implementation of an embedded control system. Thus, the data measured by the sensors is not saved on any memory external to the system. This system therefore guarantees the confidentiality related to the measured consumption. An external person the control system therefore does not have access to data that could, for example, establish consumption habits.

[0133] Another advantage of the described embodiments is that the neural network is an adaptive network. Thus, the network is configured to adapt to changes in resource consumption behavior. Furthermore, the network is a neural network whose training is carried out using an incremental learning process, which allows it to limit the catastrophic forgetting phenomenon that generally occurs in adaptive neural networks.

[0134] Various embodiments and variations have been described. Those skilled in the art will understand that certain features of these various embodiments and variations could be combined, and other variations will become apparent to them. This is particularly true with regard to the application of the control system. Indeed, although the example of a heat pump has been taken here and used for Figures 7, 8A, 8B, 9A, and 9B, the control system is of course applicable to other devices. Furthermore, the time intervals described for the measurements taken by the sensors, as well as the time horizons of the estimations, are given by way of example; those skilled in the art will be able to adapt the system to measurements with varying frequencies and to estimations with different time horizons.

[0135] Finally, the practical implementation of the described embodiments and variants is within the reach of a person skilled in the art, based on the functional specifications given above. In particular, with regard to the implemented neural network, although the performance comparisons illustrated in Figures 6 to 9B were carried out using a DreamNet-type network, it is of course possible to implement any other incremental artificial neural networks. Similarly, the data pre-processing and post-processing steps can vary.

Claims

Demands

1. Control system configured to supply and / or receive in a buffer tank, a quantity of a resource intended for or received from a target system (102), the control system comprising: - at least one sensor (106) configured to measure, periodically and in a first time interval, quantities of the resource supplied and / or received; - a processing device (110) configured to perform a processing operation on the measurements made by the at least one sensor, the processing operation corresponding to the generation of a first time series whose values ​​are sums of the quantities measured at several time instants;the processing device further comprising a neural network (202), configured to receive the first time series, to generate at least one quantity estimate based on the first time series, and to control an actuator (108) causing the preparation of the buffer tank for the supply and / or recovery of the estimated quantity of resource to or from the target system.

2. A control system according to claim 1, wherein the processing device (110) is configured to reset the values ​​of the first time series periodically, for example every 24 hours.

3. A control system according to claim 1 or 2, wherein the neural network (202) includes a predictive part configured to generate quantity estimates over a predetermined time horizon, for a time interval subsequent to the first time interval.

4. A control system according to claim 3, wherein the training of the neural network is carried out according to an incremental learning process.

5. System according to claim 4, wherein the neural network (202) further comprises a self-associative part configured to generate a second time series on the basis of the first time series, the second time series being used as pseudo-data in the incremental learning process.

6. A control system according to any one of claims 3 to 5, wherein the predictive part of the neural network (202) comprises at least one dense layer.

7. System according to any one of claims 1 to 6, wherein the processing device (110) comprises a processing unit (112) comprising the neural network (202) and a control unit (114) configured to control the actuator (108), the processing unit being further configured to normalize the estimates generated by the incremental neural network before providing them to the control unit (114).

8. A control system according to any one of claims 1 to 7, wherein the neural network (202) includes an attentional-type layer.

9. A control system according to any one of claims 1 to 8, wherein the neural network (202) comprises two subnetworks (202-1, 202-2), each comprising a self-associative part and a predictive part and configured to perform a learning transfer operation from one to the other.

10. A control system according to any one of claims 1 to 9, wherein at least one actuator (108) is configured to activate the production and / or absorption of the resource in the buffer tank from or to a raw resource, the resource being drawn from the tank or brought into the tank to / from the target system intermittently.

11. A control system according to any one of claims 1 to 10, wherein the actuator (108) is a means for heating a fluid and the resource is said fluid heated to one or more predefined temperatures.

12. Control system according to claim 11, wherein at least one sensor (106) is a flow meter configured to measure the flow rate of heated fluid consumed by a building, at regular time intervals, for example every 30 minutes.

13. A control system according to any one of claims 1 to 10, wherein the actuator (108) is a generator set or an electrical energy converter into another form of storable energy and the resource is electrical energy stored in a battery constituting said buffer tank.

14. A method for controlling a target system (102) configured to supply a quantity of a resource, the method comprising: - the measurement, periodically and in a first time interval, by at least one sensor (106) of a control system, of a quantity of resource used; - the supply of the measured quantity to a processing device (110); - the application, by the processing device, of a processing operation on the measurements made by the at least one sensor, corresponding to the generation of a first time series whose values ​​are the sums of the measured quantities; - the generation, by a neural network (202) of the processing device (110) and on the basis of the first time series, of an estimate of the quantity of resource;and - the control, by the processing device (110), of an actuator (108) of the pilot system, causing the preparation of the buffer tank for the supply and / or recovery of the estimated quantity of resource to or from the target system.;

15. A method according to claim 14, wherein the training of the neural network (202) is updated on the basis of the first time series.

16. A method according to claim 14 or 15, wherein the neural network (202) comprises: - a predictive part configured to generate quantity estimates over a predetermined time horizon, for a time interval subsequent to the first time interval; and - a self-associative part configured to generate a second time series based on the first time series, the second time series being used as pseudo-data in an incremental learning method.

Citation Information

Patent Citations

  • System and method for avoiding catastrophic forgetting in an artificial neural network

    WO2022053474A1

  • Method for forecasting hot-water consumption, method and system for optimising hot-water production

    EP3182343A1

  • Building management system with supervisory fault detection layer

    US20220035357A1

  • Building equipment control system with automated horizon selection

    US20230315032A1

  • Acquiring a user consumption pattern of domestic hot water and controlling domestic hot water production based thereon

    US20240288179A1