WO2023075631A1 - System for controlling heating, ventilation and air conditioning devices - Google Patents

System for controlling heating, ventilation and air conditioning devices Download PDF

Info

Publication number
WO2023075631A1
WO2023075631A1 PCT/RU2021/000472 RU2021000472W WO2023075631A1 WO 2023075631 A1 WO2023075631 A1 WO 2023075631A1 RU 2021000472 W RU2021000472 W RU 2021000472W WO 2023075631 A1 WO2023075631 A1 WO 2023075631A1
Authority
WO
WIPO (PCT)
Prior art keywords
neural network
training
hvac
child
virtual
Prior art date
Application number
PCT/RU2021/000472
Other languages
French (fr)
Russian (ru)
Inventor
Александр Юрьевич БЕЛЯЕВ
Максим Анатольевич ЗУБОВ
Сергей Евгеньевич Шалунов
Владимир Анатольевич ПУШМИН
Original Assignee
Ооо (Общество С Ограниченной Ответственностью) "Арлойд Аутомейшн"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ооо (Общество С Ограниченной Ответственностью) "Арлойд Аутомейшн" filed Critical Ооо (Общество С Ограниченной Ответственностью) "Арлойд Аутомейшн"
Priority to PCT/RU2021/000472 priority Critical patent/WO2023075631A1/en
Priority to PCT/GB2022/051855 priority patent/WO2023073336A1/en
Publication of WO2023075631A1 publication Critical patent/WO2023075631A1/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2614HVAC, heating, ventillation, climate control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2642Domotique, domestic, home control, automation, smart house

Definitions

  • the present invention relates to the field of computer technology for controlling at least one heating, ventilation and air conditioning (HVAC) device, as well as for teaching a training system to work with the HVAC device.
  • HVAC heating, ventilation and air conditioning
  • Neural networks are machine learning models that use one or more layers that non-linearly transform data from blocks called neurons to predict outputs for given inputs. Some of these networks are deep networks with one or more hidden layers in addition to the output layer. The output of each layer is used as input to the next layer of the neural network, such as the hidden layer or the output layer. Each level generates its output from the received input data in accordance with the current values of the parameter set.
  • One example of such systems is the continuous control method using deep reinforcement learning described in RU 2686030 C1.
  • the known method includes obtaining a mini-package of experimental tuples and updating the current values of the parameters of the neural network-actor (neural network-actor), containing for each experimental tuple in the mini-package: processing the training observation and training action in the experimental tuple using the neural network-critic to determine the output of the neural networks for the experimental tuple and determining the predictive output of the neural network for the experimental tuple. Updating the current values of the parameters of the neural network-critic using errors between the predictive outputs of the neural network and the outputs of the neural network, and updating the current values of the parameters of the neural network-actor using the neural network-critic.
  • the known invention has disadvantages.
  • disadvantages of the known method may include poor control accuracy of at least one HVAC unit to provide optimal heating, ventilation and air conditioning in the room.
  • the low accuracy of maintaining a constant internal microclimate should be indicated.
  • the problem solved by the claimed invention is to eliminate at least one of the above drawbacks.
  • the technical result of the claimed invention is to improve the control accuracy of at least one heating, ventilation and air conditioning (HVAC) device to improve the accuracy of maintaining a constant internal microclimate and, as a result, reduce energy costs.
  • HVAC heating, ventilation and air conditioning
  • An additional technical result is to minimize the time and computing resources required to train the neural network of the control system with at least one HVAC device.
  • the target metric includes at least one of the following or combinations thereof: electricity and/or power consumption, cost of electricity and/or power, HVAC unit run time, number of changes in HVAC unit operation, deviation from target conditions .
  • the learning system comprises an actor-critic system comprising an actor neural network and a critic neural network.
  • the learning system comprises a global actor-critic learning system and one or more child actor-critic learning systems, wherein: the global actor-critic system comprises a global neural network-actor and a global neural network-critic; one or more actor-critic child systems contain an actor-child neural network and a critic-child neural network.
  • training the neural network of the control system includes: transferring gradients from at least one child learning system to the global learning system and updating parameters of the global learning system based on the gradients received from at least one child learning system; copying parameters from the global learning system to at least one child learning system; and repeating the steps of transmitting gradients and copying parameters, wherein the steps of transmitting gradients and copying parameters are repeated until each of the neural networks of the child system and the global system converge.
  • training the neural network of the control system includes determining the combination of at least two neural networks to provide a given mode of operation of at least one virtual HVAC device in accordance with the said virtual environment.
  • training the neural network of the control system includes training at least one child system depending on a separate copy of the virtual environment, each of the copies of the virtual environment has different initialization properties, and the initialization properties include at least one of the following values or a combination of them: density of people in the room, different configurations at least at least one HVAC virtual appliance and/or different virtual room model configurations.
  • the baseline simulator is configured to provide a separate target metric for at least one child system, with separate target metrics for said child system being determined depending on the corresponding separate copy of the virtual environment.
  • the neural network of the control system is trained depending on a set of target conditions provided by the baseline simulator, where the set of target conditions includes one or more of the conditions: indoor temperature and/or outdoor temperature, indoor humidity and/or humidity outside the premises.
  • the neural network is trained depending on a set of target indicators and/or sets of target conditions provided by the baseline simulator, where each target metric is used by the learning system for a separate training step.
  • training the neural network of the control system includes creating a reinforcement learning agent configured to operate depending on the training system, wherein the agent is configured to interact with at least one virtual HVAC device in said virtual environment.
  • the baseline simulator is configured to provide a plurality of targets and/or target conditions depending on the maximum number of actions that said agent can take during a predetermined learning period.
  • the baseline simulator is configured to provide a target metric depending on the input dataset containing the time-limited set data, while the neural network of the control system is trained depending on the same time-limited data set.
  • the baseline simulator is configured to provide a target metric without using the neural network of the control system and/or to provide a target metric using one or more of the following methods: a decision tree method, a linear data transformation method, analysis-based methods connections, methods using gradient boosting.
  • the baseline simulator is configured to provide a target metric depending on one of the following: user input to control the operation of at least one HVAC device in said virtual environment and/or stored data related to the operation of the virtual HVAC devices .
  • the input dataset contains one or more of the following data: HVAC device description and/or configuration data in said virtual environment, building layout and/or area layout data, climate condition data.
  • training the neural network of the control system includes providing a plurality of said agents, where each of the agents is configured to perform a plurality of actions and/or communicate with at least one HVAC device.
  • training the neural network of the control system includes training a plurality of learning systems, where training of each learning system of the plurality of learning systems occurs in said environment for each virtual HVAC device and/or for each group of a plurality of groups of similar virtual HVAC devices.
  • training a control system neural network includes training a plurality of learning systems associated with a plurality of said agents, each learning system being configured to interact with a respective agent.
  • training the neural network of the control system includes: training the first child system of the first learning system and the first child system of the second learning system depending on the first copy of said virtual environment; training a second child system of the first learning system and a second child system of the second learning system depending on the second copy of said virtual environment; wherein the first child system of the first learning system and the first child system of the second learning system are configured to interact with the first copy of said virtual environment simultaneously and/or the first child system of the first learning system and the first child system of the second learning system are configured to interact with the first copy of said virtual environment according to a predetermined condition.
  • a method for controlling at least one heating, ventilation and air conditioning (HVAC) device comprising the steps of: comprising the steps of: receiving an input data set; create a virtual environment associated with one or more HVAC devices, based on the received input data set, at least one virtual model of the HVAC device, and at least one virtual model of the room in which said at least one virtual HVAC device model; performing an operation mode simulation of said at least one virtual HVAC device in said virtual model premises based on the received input dataset; obtaining a target metric based on the simulation performed; and performing training of the neural network of the control system, at least one HVAC device in accordance with the received target metric and in accordance with the input data set; the controller generates control instructions; and transmitting said instructions to at least one HVAC device, where said control instructions are generated based on the received target metric.
  • HVAC heating, ventilation and air conditioning
  • a computer readable medium for storing a computer program product containing instructions that, when executed by a processor, cause the processor to perform a method for controlling at least one heating, ventilation, and air conditioning (HVAC) device.
  • HVAC heating, ventilation, and air conditioning
  • a method for training a neural network of a control system with at least one heating, ventilation, and air conditioning (HVAC) device comprising the steps of: receiving an input data set; create, by means of a virtual environment module, a virtual environment associated with one or more HVAC devices, based on the received input data set, at least one virtual model of the HVAC device, and at least one virtual model of the room in which the mentioned is located, at least one virtual HVAC device model; executing, with the baseline simulator, an operation mode simulation of said at least one virtual HVAC device in said virtual room model based on the received input data set; obtaining a target metric based on the simulation performed; and performing training of the neural network of the control system in accordance with the obtained target metric and in accordance with the input data set.
  • HVAC heating, ventilation, and air conditioning
  • FIG. 1 shows an exemplary view of a virtual environment containing an HVAC device.
  • FIG. 2 shows a system including a reinforcement learning system.
  • FIG. 3 shows a computer device on which the system shown in FIG. 2.
  • FIG. 4 shows a neural network of a control system for at least one HVAC unit.
  • FIG. Figure 5 shows the "actor-critic" ("performer-critic") system.
  • FIG. 6 shows a detailed version of a reinforcement learning system for the system shown in FIG. 2.
  • FIG. 7 shows the interaction of child and global neural networks in accordance with FIG. 6.
  • FIG. 8 shows a method for updating the weights of the child neural networks and the global neural network in accordance with FIG. 6.
  • FIG. 9 shows interactions between agents, reinforcement learning systems, and virtual environment copies that may be present in the system of FIG. 2.
  • FIG. 10 shows a method for providing a result based on an action proposed by a reinforcement learning system.
  • FIG. 1 shows a room 10 which includes two radiators 12-1, 12-2 (special cases of HVAC devices) and an air conditioning unit 14 (special case of HVAC device).
  • Each of these HVAC units can be used to change indoor conditions.
  • radiators can be used to heat a space
  • an air conditioner can be used to cool a space.
  • a neural network for controlling an HVAC device is disclosed, as well as a method for training this neural network and a control system for at least one HVAC device containing such a neural network. It should be understood that the methods and systems disclosed herein may also be used in other situations (not related to HVAC).
  • the neural network may be present in the HVAC device itself.
  • an HVAC device may be present in the control system that controls the device.
  • a controller may be provided comprising one or more neural networks, this controller being able to control the HVAC system and perform training of said control system neural network, the HVAC system comprising a plurality of HVAC devices.
  • reinforcement learning system 110 the neural network training system 110 of the control system with reinforcement (hereinafter reinforcement learning system 110) is trained depending on: one or more sets of input data 102, 103, 104, virtual environment module 100, and baseline simulator 400.
  • the virtual environment module 100 may be implemented by a separate computing device in conjunction with software and configured to create a virtual environment associated with one or more HVAC devices, including creating, based on the received input data set, at least one virtual model of the HVAC device , and at least one virtual model of the room in which said at least one virtual model of the HVAC device is located.
  • the input datasets comprise a device description and configuration dataset 102, a building description dataset 103, and a weather dataset 104. It should be kept in mind that, more generally, input datasets may contain a number of input data and that different datasets may be used in practice.
  • HVAC heating, ventilation and air conditioning
  • the set of device descriptions and configurations may, for example, refer to the available configurations of air conditioners, thermostats, humidifiers, heat exchangers, etc. More generally, one of the input datasets is typically a dataset that defines an action space and/or a set of available actions for an agent (eg turning an air conditioner on or off). Then based on the reinforcement learning software system suitable actions are identified that the agent should take in practice (after the reinforcement learning system has been trained). For example, a set of weather conditions can be used as input to a reinforcement learning system, and agent 200 can turn an air conditioner on or off based on the output of the reinforcement learning system. In the basic example, the reinforcement learning system can identify that the air conditioner should be turned on when there are high temperature weather conditions.
  • the agent means the performer of control actions. It has one or more service capabilities that form a single and complex execution model, which may include access to external software (SW), users, communications, HVAC devices, etc.
  • SW external software
  • an agent is a module for managing external devices.
  • the agent is implemented as firmware and may be implemented, for example, as an HVAC device control computer, an HVAC device control controller located in and/or outside the HVAC device, etc.
  • the input datasets may include building description 103 datasets.
  • the description of a building may indicate the dimensions, plans, and/or zonal subdivisions of the building.
  • Reinforcement learning system 110 is then trained to control the available devices to achieve the desired building conditions.
  • the input datasets may include a weather dataset 104 (which, more generally, may be an environmental dataset).
  • This data set can be used in conjunction with the building description to determine appropriate agent actions that are relevant to the operation of the HVAC units.
  • changes in weather conditions for example, changes in temperature
  • changes to the operation of the HVAC unit may require changes to the operation of the HVAC unit if the desired indoor conditions are to be maintained.
  • Each input data set 102, 103, 104 is configured to be passed to the virtual environment module 100.
  • the virtual environment module 100 is configured to send data to the reinforcement learning software system.
  • the system of reinforcement learning software is designed to transmit data to the agent 200, which is configured to control the parameters of the environment (for example, to control one or more devices in the building).
  • the reinforcement learning software system is configured for learning depending on the configuration of the virtual environment module 100 and hence the input datasets.
  • the virtual environment module 100 contains information related to the environment.
  • the virtual environment module 100 may contain a database of HVAC devices along with their possible control signals and their location (what information can be obtained from the input datasets).
  • the agent 200 can interact with the virtual environment module 100 to manage the devices present in the virtual environment.
  • virtual environment module 100 may contain the dimensions of the room as well as information (eg, possible states) for each of the HVAC devices 12-1, 12-2, 14 in the room. Module 100 may further contain information about the configuration of the room, such as whether the room has furniture and/or whether the door is open, and information about activities in the room, such as whether the room is full or empty.
  • virtual environment usually refers to a larger virtual environment than a room (eg, a building or multiple buildings).
  • the baseline simulator 400 is configured to provide a simulation of the behavior of at least one virtual HVAC device in said virtual room model based on the received input data set.
  • the simulator 400 is defined using a method other than reinforcement learning, such as a statistical model.
  • the baseline simulator 400 is designed to receive input from at least one of the input datasets.
  • the simulator 400 is typically adapted to receive a HVAC device description and configuration data set 102 and/or a building description data set 103.
  • simulator 400 is configured to receive each of the input datasets to provide a basic output dataset (given those datasets).
  • the simulator 400 is configured to provide achievable outputs related to controlling the virtual environment using conventional modeling techniques.
  • simulator 400 may simulate control of devices in a virtual environment based on equations or based on conditional logic (eg, "if the temperature rises above 27°C, turn on the air conditioner").
  • conditional logic eg, "if the temperature rises above 27°C, turn on the air conditioner"
  • simulator 400 can simulate output conditions (humidity and temperature) that can be achieved using known tools and/or existing models.
  • the simulator 400 is used to determine and provide the desired conditions environment (environment).
  • baseline simulator 400 may provide the desired temperature and/or humidity. These desired conditions may be based on one or more of: user input, historical data, and/or simulation (eg, simulation that determines achievable values given user input). A reinforcement learning system can then be set up to achieve these target conditions.
  • the simulator 400 is typically designed to provide a key metric related to providing certain conditions.
  • simulator 400 may provide power usage statistics, device usage statistics, and/or device wear statistics that are required to obtain a set of conditions.
  • This metric can be used as a goal by a reinforcement learning software system, where the reinforcement learning system is designed to provide the same or similar conditions with an improved metric (eg, lowering the cost of electricity).
  • the metric refers to one or more of the following: electricity and/or power consumption; the cost of electricity and/or power (electricity is usually cheaper at certain times of the day, so minimizing usage and minimizing costs may require different actions); operating time of the device; the number of times the operating mode of the device is changed (this may affect the life of the device); and deviation from desired conditions (eg, maximum deviation, average deviation, and/or sum of deviations).
  • simulator 400 provides a variety of metrics.
  • the provided metric may refer to a plurality of constituents. metrics.
  • simulator 400 may indicate (eg, based on user input) the order of precedence for the metrics.
  • simulator 400 may indicate that a reinforcement simulator should prioritize achieving a target condition set and then seek to minimize costs.
  • the simulator 400 may indicate that a small deviation from the target condition set is acceptable if the deviation would significantly reduce power consumption.
  • performing training of the neural network of the control system in accordance with the stages and, ultimately, obtaining a target metric for further control of at least one HVAC device ensures high accuracy in maintaining a constant indoor microclimate to achieve comfortable indoor climate conditions. This circumstance is due to the fact that continuous training in accordance with the data characterizing the individual implementations of both HVAC equipment and the possible implementations of the premises ensures the achievement of positive results in maintaining comfortable climatic conditions in the premises.
  • simulator 400 is configured to use historical data. For example, the operation of an existing HVAC system for several months can be used to create a simulator 400. This historical data can be used to determine the conditions that are desirable for the inhabitants of this building, and to determine the operation of the devices necessary to achieve these conditions. This historical data can also be used to form a goal that the reinforcement learning system 110 must meet and/or beat.
  • the method for configuring the simulator 400 includes monitoring the environment and/or HVAC devices to determine baseline operation, preferably over a period of at least a week and/or at least two weeks and/or at least a month. The simulator 400 can then be configured to provide an indication of the operation of the existing system in the environment.
  • the target metric may depend on historical data and/or environmental monitoring. Similarly, a target metric can be based on predicted improvement. For example, the user may predict (set a condition) that a 20% efficiency improvement will (should be) achieved over current systems. The target metric can then be based on a 20% reduction in historically determined energy consumption.
  • Creating a virtual environment may include one or more of the following steps:
  • i. user-entered data for example, user-entered values for temperature, humidity, etc.
  • building information 103 and device description and configuration 102 iii. information about weather conditions 104 during the period corresponding to the simulated period. For example, for the month of August of any year. You can also use multiple time periods (over several years) to improve the reliability of the simulation.
  • simulator 400 uses models trained on available, eg, time-limited, datasets. Models can use decision tree based methods or gradient boosting methods, etc.
  • the resulting simulation is subsequently passed as part or all of the data characterizing the state of the virtual environment to the reinforcement learning system 110 .
  • the simulator 400 may be given weather conditions for a historical month (eg, September 2000) and may then provide simulation output regarding the actions required to maintain the desired conditions for that period of time given those weather conditions. .
  • This output can contain performance metrics such as power consumption, and the reinforcement learning system can use these performance metrics as a target.
  • simulator 400 can provide a target performance metric and/or target condition set to reinforcement learning system 110.
  • Reinforcement learning system 110 includes at least one a neural network that is trained using the same input data set and matches the input data from this data set with a set of actions that must be performed by the agent 200 to achieve or improve the target conditions and/or indicators (parameters).
  • a reinforcement learning system can be used to achieve desired/target building conditions given certain conditions and certain inputs (e.g., a reinforcement learning system can maintain a certain desired temperature range in a building).
  • the reinforcement learning system is usually able to achieve these conditions by outperforming the simulator 400 with respect to the target metric (for example, a reinforcement learning system can reduce power consumption).
  • the number of outputs of the simulator 400 generally refers to the number of steps taken to train the HO system of reinforcement learning; this number of steps corresponds to the maximum number of actions that agent 200 can perform before the end of training.
  • the time interval chosen to train the reinforcement learning system 110 is one month, and the agent 200 is configured to perform an action (e.g., turn the HVAC devices on or off) once per day
  • the simulator 400 may be configured to providing a set of inference conditions corresponding to the number of days in that month, such that at each step performed by the agent 200 during the time interval selected for training, there is a known set of target inference conditions provided by the simulator 400.
  • the simulator 400 is typically designed to provide a metric for each step (for example, daily electricity costs); simulator 400 may additionally or alternatively provide a metric for the situation as a whole (e.g. total electricity costs).
  • the simulator 400 (and the HO reinforcement learning system) are typically trained using data over a significant period of time, such as several months. During this period, weather conditions and/or desired environmental conditions may change. For example, winter weather conditions may be colder than average, and the power output of simulator 400 may be correspondingly higher than average. Considering a long period of time, a reinforcement learning system can be trained to perform at a high level in a variety of conditions.
  • the simulator 400 can perform complex simulations to obtain target conditions/metrics, these conditions/metrics can also be obtained in a simpler way, for example, a simple linear or non-linear transformation of physical parameters that were present before the simulation, as well as methods using analysis relationships between these physical parameters.
  • An example of the simulation that can be provided by the baseline simulator 400 is the method described in the E+ (EnergyPlus) specification ("Technical Handbook, EnergyPlusTM Documentation Version 9.4.0 (September 2020); US Department of Energy: https ://energyplus.net/sites/all/modules/custom/nrel_custom/pdfs/pdfs_v9.4.0/ EngineeringReference.pdf").
  • This open source software requires as input a set of historical weather data for the relevant period or periods of time. For example, if the simulation is to be run in September, data from September of the previous year or previous years is required. several years. As a conclusion, the necessary information is provided on the use of HVAC units to achieve the desired conditions.
  • the agent 200 is configured to interact with the virtual environment module 100 based on the output of the reinforcement learning system 110.
  • the agent 200 is configured to control devices related to the virtual environment to achieve the desired environmental conditions.
  • the agent 200 operates on the output of the reinforcement learning software system, where the DL reinforcement learning system receives a set of input values and then provides the agent 200 with a set of actions (e.g., outputs), where these actions are related to the operation of the HVAC device in the environment. environment.
  • the agent 200 then implements the actions.
  • a set of weather conditions can be used as input to a reinforcement learning system; then, the reinforcement learning software system determines (using a neural network, as described below) the appropriate actions to take to obtain the desired set of conditions given those weather conditions.
  • These appropriate actions are passed to the agent 200, which interacts with the HVAC devices in the environment to implement the actions (eg, to turn the air conditioner on or off).
  • Agent 200 may be combined with reinforcement learning system 110, where the reinforcement learning software system includes an agent and is designed to interact directly with HVAC devices in the environment.
  • a separate agent 200 and/or reinforcement learning software system may be provided for each HVAC device in the environment.
  • there may be a separate agent 200 and/or a reinforcement learning software system provided for each group of HVAC units in the environment for example, an air conditioner group and a radiator group may use two separate agents.
  • a reinforcement learning method in which the reinforcement learning software system is trained so that it is suitable for controlling the agent 200.
  • the agent 200 To interact with the virtual environment module 100, the agent 200 usually receives data indicative of its state, and takes an action from a set of actions as a response to this data, this action is determined by the reinforcement learning software system. Data characterizing the state of the environment can be called observation or input. The goal of the system as a whole is to maximize the "reward" received for performing activities in the described environment, where the reward is related to the achievement/exceeding of one or more indicators (eg, provided by the simulator 400).
  • the present disclosure also relates to a method for controlling at least one HVAC device based on a trained reinforcement learning software system and/or agent 200.
  • the reinforcement learning software system selects the actions to be performed by the agent 200 by interacting with the virtual environment module 100. That is, the reinforcement learning system 110 receives data related to the environment and environmental conditions and selects an action from a set of actions to be performed by the agent 200. Typically, an action is selected from a contiguous set of actions. Similar an action may be selected from a discrete set of actions (eg, a limited number of possible actions).
  • each of the components of the described system is typically implemented using the computing device 1000.
  • Each of these components may be implemented using the same computing device, or the components may be implemented using multiple computing devices.
  • the computing device 1000 includes a processor in the form of a central processing unit (CPU) 1002, a communication interface 1004, a memory 1006, a storage 1008, a removable storage 1010, and a user interface 1012 connected to each other by a bus 1014.
  • the user interface 1012 includes a display 1016 and a device input/output, which in this embodiment is the keyboard 1018 and the mouse 1020.
  • the CPU 1002 executes instructions, including instructions stored in memory 1006, storage device 1008, and/or removable storage device 1010.
  • Communication interface 1004 is typically an Ethernet network adapter connecting bus 1014 to an Ethernet outlet.
  • the Ethernet connector is connected to the network.
  • the Ethernet jack is usually connected to the network via a wired connection, but the connection can alternatively be wireless. It should be understood that many other means of communication (eg, Bluetooth®, infrared, etc.) may be used.
  • Memory 1006 stores instructions and other information for use by CPU 1002.
  • Memory is the main memory of computing device 1000. It typically includes both random access memory (RAM) and read only memory (ROM).
  • RAM random access memory
  • ROM read only memory
  • the storage device 1008 may be implemented as a mass storage device for the computing device 1000. In various implementations, the storage device is a built-in storage device in the form of a hard disk, flash memory, or some other similar mass storage device or an array of such devices.
  • Removable storage device 1010 may be implemented as an auxiliary storage device for computing device 1000.
  • removable storage device is a storage medium for a removable storage device, such as an optical disk, for example, a digital versatile disk (DVD), portable flash a drive or some other similar portable solid-state storage device (computer-readable medium), or a plurality of such devices.
  • the removable storage device is remote from the computing device 1000 and includes a network storage device or a cloud storage device.
  • Computer device 1000 may include one or more graphics processing units (GPUs), application specific integrated circuits (ASICs), and/or one or more field programmable gate arrays (FPGAs).
  • GPUs graphics processing units
  • ASICs application specific integrated circuits
  • FPGAs field programmable gate arrays
  • a computer program product includes instructions for performing aspects of the method(s) described below.
  • the computer program product is stored at various stages in any of the storage devices 1006, the storage device 1008, and the removable storage device 1010.
  • the storage of the computer program product is long term, except when the instructions included in the computer program product are executed by the CPU. 1002, in which case the instructions are sometimes temporarily stored in the CPU or memory.
  • the removable storage device is removable from the computing device 1000 such that the computer program product is stored separately from the computing device from time to time.
  • reinforcement learning system 110 is trained using a first computing device. Once reinforcement learning system 110 has been trained on this first computing device, it can be used to control a system (eg, a HVAC system). To this end, the trained reinforcement learning software system and/or agent 200 may be output and/or transferred to another computing device.
  • a system eg, a HVAC system
  • the computing device 1000 is configured to receive input either through a sensor or through a communication interface input 1004.
  • the input data may include one or more of the following: environmental conditions, weather conditions (for example, a weather forecast), desired conditions (for example, a desired temperature entered by the user), and/or environmental configuration (for example, an indication of whether each building door).
  • FIG. 4 shows an exemplary neural network 10 that may be part of a reinforcement learning system 110.
  • the neural network 10 in FIG. 4 is a deep neural network that includes an input layer 12, one or more hidden layers 14, and an output layer 16. It will be appreciated that the example in FIG. 4 is just a simple example and in practice the neural network may contain additional layers. Also, although this exemplary neural network is a deep neural network, containing a hidden layer 14, more generally, a neural network could simply contain any layer that maps an input layer to an output layer.
  • a neural network is based on parameters that map inputs (eg, observations) to outputs (eg, actions) to achieve a desired outcome for a given input. These parameters usually contain weights. To determine the parameters that ensure efficient operation, the neural network is trained using training sets of input data. In the present system, the inputs to the neural network may be referred to as observations, with each observation characterizing the state of the environment (eg, current conditions).
  • neural network training consists of several stages, in which the parameters of the neural network are updated after each stage of training based on the performance of the neural network at that stage. For example, if a parameter change is defined to improve the performance of the neural network during the first training step, a similar change can be implemented before the second training step.
  • training a neural network involves a series of steps to ensure that the parameters provide the desired output for a range of input datasets.
  • the neural network is trained based on the simulator 400, where the metric provided by the simulator 400 allows the neural network to be trained faster than using traditional training methods.
  • a reinforcement learning system HO typically comprises an actor-critic (Actor-Critic) system 20 .
  • the actor-critic system 20 comprises two separate neural networks, one of which is an actor neural network (by the performer neural network - Actor) 22, and the other by the critic neural network 24 (Critic).
  • the actor neural network (Actor) 22 is designed to receive input from the virtual environment module 100 and have it processed in response to actions that the agent 200 can perform. as input from the environment, and then determine that the agent 200 should turn on the air conditioning unit (note that the actor neural network usually maps input tuples to output tuples without knowing the meaning of these tuples, so the actor neural network does not know that this output refers to the switched on air conditioner).
  • the critical neural network (Critic) 24 is designed to receive a state, or input, from the virtual environment module 100 and an action from the neural network 22 (Actor), and to determine a value related to this action and state. Therefore, the Critic neural network determines the result of the action proposed by the Actor neural network.
  • the simulator 400 may indicate that a temperature of 23°C is desired.
  • the virtual environment module 100 may then provide a state value that indicates that the temperature is 25°C for the first time.
  • neural network actor 22 may return an action to turn on the heat emitter.
  • Critic neural network 24 determines the result of this action - for example, this action is likely to lead to an increase in temperature (thus, the temperature for the second time can be 27 ° C).
  • the critical neural network 24 receives the environment state values for the first and second time and determines that the temperature has risen and that the proposed action had a negative effect.
  • the parameters of the neural network-actor 22 are changed so that in the same situation, a similar action is not offered in the future. Therefore, the parameters of the neural network-actor 22 (Actor) are changed based on the feedback from the neural network-critic 24.
  • the information provided to the neural network actor 22 (Actor) by the neural network 24-criticism (Criticism) contains a temporal difference (TD) error.
  • This TD error takes into account the passage of time so that it can be taken into account, for example, that turning on a radiator may only have an effect after a certain waiting period).
  • the feedback from the critic neural network 24 may include an indication of an error between the condition reached and the desired condition, with the parameters of the actor neural network 22 (Actor) being updated to minimize this error.
  • Neural network-critic 24 provides a subjective assessment of the benefits of the current state of the neural network-actor 22 (Actor). To improve this score, especially in the early stages of training, the simulator 400 can be used to determine the appropriate parameters for the critic neural network 24. In particular, the reward used to train one of the neural networks can be based on the difference between the target metric and the metric, associated with the current parameters of this neural network. In practice, the action offered by the neural network actor 22 (Actor) is usually associated with a metric (eg, electricity usage). The modifications made to the parameters of the actor neural network 22 (and/or the critic neural network 24) during the training phase may depend on the difference between this metric and the target metric provided by the simulator 400.
  • a metric eg, electricity usage
  • the parameters of the neural network-critic 24 and thus the determined value may depend on the condition and/or metric received from the simulator 400.
  • the neural network-critic 24 may identify that the proposed set of actions of the neural network -actor 22 (Actor) refers to an electricity cost metric of 100 kWh, however, without the context of a certain situation, the critical neural network 24 cannot determine whether this price is good or bad, and the critical neural network 24 usually needs to know whether it is whether a certain outcome is good or bad, through numerous learning steps. Therefore, in the early stages of training, the critic neural network 24 can only provide limited feedback to the actor neural network 22 (Actor), and the parameters of the actor neural network 22 (Actor) can only be changed slowly.
  • the critical neural network can learn much faster. For example, if the simulator 400 achieved an electricity cost metric of 20 kW/h for the same situation, the critic neural network 24 can quickly determine that the current parameters of the actor neural network 22 (Actor) that resulted in the electricity cost metric of 100 kWh/ h, differ significantly and are not optimal.
  • the training time of the reinforcement learning system 110 can be reduced.
  • the simulator 400 can be used to quickly train the actor neural network 22 (Actor) and the critic neural network 24 to provide an agent 200 that achieves performance at least similar to the simulator 400. Then the neural network actor 22 (Actor) and neural network-critic 24 can continue training so that the reinforcement learning system begins to outperform simulator 400. Using simulator 400 reduces the total training time required for the reinforcement learning software system.
  • Actor-critic system training may include: a. receiving mini-packages of experience tuples from the virtual environment. Each experience tuple contains a learning observation characterizing the learning state of the virtual environment, a learning action from the possible action space for agent 200, a learning reward associated with agent 200 for performing the learning action, and a next learning observation characterizing the next learning state of the virtual environment; b. updating the current values of the parameters of the neural network-actor 22 using the received mini-packets of experience tuples. For each experience tuple in the mini-batch, a new update typically contains the following steps: c.
  • a new experience tuple is created.
  • This stage usually consists of the following steps: a. getting a new training observation; b. processing this new learning observation using the neural network actor 22 (Actor) to select a new learning action to be performed by the agent 200, in according to the current values of the parameters of the neural network-actor 22; V. receiving a new learning reward in response to agent 200 performing this new learning action; d. obtaining a new next training (training) observation; e. creating a new experience tuple that includes, as described above, a new learning observation, a new learning action, a new learning reward, and a new next learning observation.
  • An example of an existing system that uses the actor-critic scheme is the Asynchronous Advantage Actor-Critic (AZS) https://www.machineleamingmastery.ru/the-idea-behind- actor-critics-and-how-a2c-and-a3c-improve-them-6dd7dfd0acb8/).
  • the methods disclosed herein may be implemented using such a system.
  • the methods disclosed herein can equally be implemented using a Mixture-Density Recurrent Network (MDN-RNN).
  • MDN-RNN Mixture-Density Recurrent Network
  • reinforcement learning system 110 does not include an actor-critic system. Reinforcement learning system 110 will still include at least one neural network. In such systems, simulator 400 typically provides feedback on the reward model that is used to evaluate the performance of the neural network.
  • FIG. 6 shows an embodiment of reinforcement learning system 110 in more detail.
  • the reinforcement learning system 110 is designed to select actions (outputs) using the global neural network module of the virtual environment 300.
  • the global neural network is a neural network that is configured to accept a set of inputs and process the input to associate those inputs with an action (for example, if the temperature rises, turn on the air conditioner). Typically, this includes selecting a point in the continuous action space by the global neural network that determines the action to be performed by the agent 200 in response to the input.
  • This global neural network 300 is typically trained through reinforcement learning.
  • a global neural network can be trained via supervised or unsupervised learning (so that the disclosure of reinforcement learning system 110 is more generally the disclosure of a learning system that contains at least one neural network).
  • the global neural network 300 typically includes a global actor neural network 301, which provides a function for matching inputs to outputs (e.g., actions), and a global critic neural network 302, which is designed to perform actions, and inputs ( states) as input and to process actions and inputs to create neural network outputs.
  • the reinforcement learning software system manages the parameters of the critic global neural network and the actor global neural network.
  • the reinforcement learning system comprises at least one child neural network 310-1, 310-2, 310-N; each child neural network contains a child neural network-actor 311-1, 311-2, 311-N and a child neural network-critic 312-1, 312-2, 312-N.
  • the networks interact with the virtual environment module 100 at the same time (as shown in FIG. 6). This is achieved by providing respective copies of the virtual environment 101-1, 101-2, 101-N with a separate copy of the virtual environment created and provided for each of the child neural networks.
  • Each copy of the virtual environment has different properties that can be set using different initialization conditions.
  • these properties refer to different configurations of the target real physical environment (eg, different building configurations).
  • each copy of the virtual environment may refer to a different population density or a different configuration of objects in the real physical environment (eg, different sets of doors that open or close).
  • Copies of the virtual environment may be initialized based on a number of parameters, each of which may be randomly selected or selected by the user. These parameters typically include one or more of the following: initial environmental conditions (eg initial temperature or humidity); initial state outside the environment; initial employment and/or occupancy; and characteristics of the devices (for example, the type of coolant used).
  • each child neural network 310 is trained based on a different environment with different properties.
  • child neural networks may be structurally identical and/or may be initialized with the same parameters, and these parameters will differ due to the interaction of child neural networks with different versions of the environment. Similar child neural networks can be initialized with different parameters.
  • a plurality of similar copies of the virtual environment can also be provided, where these similar copies are associated with differently initialized child neural networks.
  • simulator 400 is configured to provide a metric and/or set of target conditions for each instance of virtual environment 101. For example, modeling a baseline for a crowded environment may result in higher energy consumption (and other measure of energy usage) than in a sparse environment.
  • the reinforcement learning software system is configured to use the child critic neural networks 312 to determine updates to the child actor neural networks 311 current parameters and child critic neural network weights. After each step, the parameters of child actor neural networks 311 and child critic neural networks 312 change depending on certain updates.
  • Child actor neural networks 311 and child critic neural networks 312 are sent in accordance with process 35 depicted in FIG. 6 and 7, the results of their work (for example, gradients that provide an indication of the performance of these child neural networks 310) to the global neural network 300.
  • the global neural network then accumulates these training results and uses them to change the parameters of the global actor neural network 301 and the global critic neural network 302.
  • global neural network 300 is able to identify parameters and/or parameter modifications that result in improvements for various child neural networks 310 so that global neural network 300 parameters can be updated accordingly.
  • the structure of each neural network is typically as follows: The global neural network 300 is trained by child neural networks 310. networks are defined based on gradients and/or parameters received from child neural networks.
  • the parameters of the global neural network 300 are determined depending on the average value of the gradients provided by the child neural networks 310. These gradients can be applied to the existing parameters of the global neural network (and, more specifically, to the existing parameters of the global neural network-actor 301 and the global neural network-critic 302) to get updated parameters.
  • the child neural networks 310 are configured to periodically receive parameter updates from the global neural network 300 when a condition is met (eg, when a certain number of training steps have been completed) and/or when a given set of actions has been performed.
  • a global neural network is designed to periodically send copies of its parameters to child neural networks, as shown in FIG. 7, where these parameters can replace the existing parameters of each child neural network.
  • Child neural networks 310 are trained based on different copies of the virtual environment 101 having different properties, so they are designed for different situations. For example, the first child neural network 310-1 may provide optimal performance when the environment is crowded (crowded room and/or rooms), the second child neural network 310-2 may provide optimal performance when the environment is sparsely populated (sparsely occupied premises and/or premises).
  • child neural networks 310 can train the global neural network to provide good performance in a number of types of environments (eg, environments with a number of different properties). Periodically, the parameters of the global neural network are transmitted to the child neural networks, therefore, the child neural networks indirectly transmit their parameters.
  • the first child neural network 310-1 can be trained based on the first copy of the virtual environment 101-1, which is characteristic of a crowded environment
  • the second child neural network 310-2 can be trained based on the second copy of the virtual environment 101-2, which characteristic of a sparsely populated environment.
  • the first child neural network can be trained indirectly for use in a sparsely populated environment by receiving parameters from a global neural network that has previously received gradients and/or parameters from the second child neural network.
  • neural networks converge (neural networks converge) to provide a series of similar and/or identical child neural networks (and a global neural network that is the same) that provide optimal performance for a wide range of environments (sparsely populated environment, crowded environment etc.).
  • reinforcement learning system 110 can be used to provide suitable output given a given set of inputs. This convergence (or near convergence) can be indicated, for example, by displaying a notification to the user, or by providing output based on input to reinforcement learning system 110.
  • the frequency of data transmission e.g., transmission of gradients/parameters from child neural networks 310 to global neural network 300 and transmission of parameters from global neural network to child neural networks
  • the frequency of data transmission can be based on multiple steps, user input, or rate of convergence.
  • the global neural network is designed to provide parameters to child neural networks no more than once every 20 steps, no more than once every 50 steps, and/or no more than once every 100 steps. Similarly, in various embodiments, the global neural network is designed to provide parameters to child neural networks at least once every 200 steps, at most once every 100 steps, and/or at least once every 50 steps.
  • reinforcement learning system 110 As shown in FIG. 8:
  • each child neural network-actor 311 receives a set of tuples from the corresponding copy of the virtual environment 101 - in accordance with the process 31.
  • Each tuple contains data characterizing the state of the environment, an action from a given area of action performed by agent 200 in response to the data, the reward for the action taken by agent 200, and the next a set of input data that characterizes the next learning state of the environment.
  • Each child actor neural network 311 then updates the 34 current values of its parameters using the data obtained from the following sequence of actions: a) Each input and action in the resulting tuple is processed, in accordance with process 32, using each child neural network critic network 312 to determine the output of the corresponding child actor neural network 311 for the tuple according to the current parameters of the child actor neural network 311 and the child critic network 312. Process 32 determines a predicted outcome or expected reward (e.g., expected performance) child neural network 310 for the received tuple of the training reward and the next set of training inputs in the same tuple.
  • a predicted outcome or expected reward e.g., expected performance
  • the current parameter values of child actor neural network 311 and child critic neural network 312 are then updated, according to process 33, using an estimate of the benefit of the predicted outputs of child neural network 310 and reward from the environment, and based on the condition(s) and the metric(s) obtained from the simulator 400. For example, if the simulator 400 indicates that the child neural network is performing well below the maximum known possible performance, the parameters can be substantially changed; if the simulator 400 indicates that the child neural network is operating close to the maximum known possible performance, the parameters may only be changed by a small amount.
  • the reward is usually based on the difference between the output of the actor's child neural network and the metric provided by the simulator; b) updating, in accordance with process 33, the current parameters of each child actor neural network 311 using the corresponding child critic neural network 312 and, for example, the entropy loss function.
  • the current values of the parameters of the global actor neural network 301 and global critic neural network 302 are updated, in accordance with process 35, based on gradients and/or parameters sent by child neural networks.
  • Each child neural network may send these gradients/parameters at the same time, or the timing of the gradients/parameters may differ for different child neural networks.
  • the parameters of the child actor neural network 311 and the child critic neural network 312 are updated, in accordance with the process 36, using the parameters of the global neural network 300.
  • An in-process update 36 of the current parameters of each critic child neural network 312 is performed using the error between the reward given from the environment for performing the selected action and the child actor neural network 311 output generated by the critic child neural network 312 for evaluation expected reward (for example, the difference between the desired and achieved value).
  • the error may be used between the output of the child neural network actor 311 for the current observation and the results of the simulator 400.
  • the system may determine an update to the current parameters, reducing the error using conventional machine learning and optimization techniques such as performing backpropagation gradient descent iteration.
  • the reinforcement learning system 110 having processed the input data using the child neural network actor 311, selects the next action and updates these parameters using one or more of the following:
  • the gradient provided by the critic child network 312 (gradient 1) with respect to the next action taken in processing the associated inputs and outputs in accordance with the current parameters of the critic child neural network (eg, improving and/or reducing performance, which is determined by child neural network-critic will take place if the action is proposed based on the current parameters of the child neural network-actor);
  • the reinforcement learning software system may compute gradient 1 and gradient 2 by backpropagating the respective gradients through the respective neural networks.
  • the reinforcement learning software system performs this process for each input tuple after each update of the parameters of the child critic 312 or the child actor 311 (eg, after each training step). Once the updates for each tuple have been calculated, the reinforcement learning software system updates the current parameters of each child actor neural network 311 and each child critic neural network 312 using the tuple updates. Thus, reinforcement learning system 110 iteratively improves the parameters of each of the neural networks.
  • reinforcement learning system 110 updates, in accordance with process 36, the parameters of global actor neural network 301 and global critic neural network 302.
  • Desynchronization of the parameters from the global neural network 300 occurs using the condition applicable to the child neural networks 310 (for example, this occurs when a certain number of actions have been performed by the child neural networks), and usually occurs by copying the parameters of the global neural network 300 after the stage of updating the parameters of the global neural network.
  • the global neural network 300 After processing a certain number of mini-packets of data, the global neural network 300 resets the gradients, and the process is repeated until the agent 200 achieves the required decision quality. [0139] Thus, by iteratively updating the current values of the parameters, the reinforcement learning software system trains the global neural network 300 and child neural networks 310 to generate neural network outputs that represent the cumulative time-amortised future rewards that can be obtained in response for agent 200 to perform a given action in response to a given set of inputs.
  • the first child neural network 310-1 can interact with a copy of the virtual environment 101-1, which refers to a crowded environment (high-density room or rooms). After a series of training steps, the parameters of the first child neural network will reach values that ensure good performance of the agent 200 for this type of environment.
  • the second child neural network 310-2 may interact with a copy of the virtual environment 101-1 that is sparsely populated (with a low density of room or rooms) and may have parameters that make the agent 200 work well for this type of environment.
  • the global neural network 300 receives gradients from each of these child neural networks and uses these gradients to form a neural network that performs well in each environment.
  • these parameters of this global neural network are periodically copied to child neural networks.
  • the parameters may not perform optimally for one or more types of environments, so the child neural networks are retrained based on the appropriate copies of the environments (and then the parameters of the child neural networks are again provided to the global neural network). Over time, all neural networks converge into a neural network that provides optimal performance for each type of environment.
  • the first agent 200-1 may be configured to manage air conditioners, while the second agent 200-2 could be configured to control radiators (and each of these agents would have different possible actions and different areas of action).
  • a separate global neural network-actor, a global neural network-critic, child neural networks-actors and child neural networks-critics can be created. This allows you to quickly train neural networks based on different action spaces.
  • FIG. 9 An illustration of the disclosed interaction scheme for a system containing multiple agents is shown in FIG. 9.
  • each of the agents 200-1, 200-2, 200-K interacts with a respective reinforcement learning system 110-1, 110-2, 110-K.
  • Each of these reinforcement learning systems contains many child neural networks.
  • Each of these reinforcement learning systems is designed to interact with a common set of copies of the virtual environment 101-1, 101-2, 101-N, where for each of the copies of the virtual environment, one child neural network from each reinforcement learning system interacts with this copy.
  • reinforcement learning systems can also be trained completely independently with completely separate copies of virtual environments.
  • backpropagation and parameter updates for these child neural networks and global neural networks can occur independently of each other.
  • each reinforcement learning system 110-1, 110-2, 110-K can be trained separately, and they can have neither common parameters nor common gradients.
  • copies of virtual environments 101-1, 101-2, 101-N are forced to take actions from all agents 200 at the same time (in one tuple).
  • all agents perform actions and add their actions to the combined tuple, which is then passed to the environment to receive an updated state.
  • this may mean that for each copy of the virtual environment, the actions related to the first agent 200-1 are first performed (for example, turning air conditioning units on or off). Actions related to the second agent 200-2 are then performed (eg turning radiators on or off).
  • Agents 200 having an identical set of available actions are typically combined into a single agent having one set of global actor neural networks, global critic neural networks, child actor neural networks, and child critic neural networks. This avoids redundant training (which wastes available computing power). For example, there may be multiple agents, each controlling similar HVAC units. These agents may have the same action space, so they can be combined and trained at the same time. The action space may be determined based on the set 102 of configuration data and input device descriptions.
  • child actor neural networks 311 and child critic neural networks 312 train a policy, calculate the effect of changing the parameters of these neural networks, and update the gradients in the global neural network 300 using not only the virtual environment and information about taken or potential actions, but also the results of the 400 baseline simulator in addition to the entropy estimation function to improve the quality of training.
  • the key performance indicators or desired conditions provided by the simulator 400 are also used by the critic child neural network to evaluate the quality of the selected policy. For example, child critical neural networks can determine if desired conditions have been met and then can evaluate a performance metric to determine if the neural network is performing well.
  • the simulator 400 provides a separate metric for each child network and/or for each copy of the virtual environment.
  • the output of simulator 400 typically contains a number of metrics along with rewards/priorities for those metrics.
  • the rewards accumulated by the simulator 400 are then compared with the rewards accumulated by each agent 200.
  • the performance of each agent 200 may then be compared to the simulator 400.
  • the metric provided by the simulator 400 may relate to the performance of the simulator 400 (e.g., how close did the simulator 400 come to achieving a certain temperature and/or humidity, and how much power was required to achieving these conditions). This the simulator 400 metric can then be compared with each agent to determine if any of the agents outperformed the reference simulation (simulation).
  • the process of determining an update for the current parameter values of the global neural network 300 or child neural networks 310 may be performed by a system of one or more computers located in one or more locations.
  • any neural network may include one or more layers of batch normalization.
  • reinforcement learning system 110 is adapted to train global neural network 300 to have optimal parameters for controlling HVAC devices in the environment to achieve a desired set of conditions (which desired set of conditions can be based on user choice or neural network output).
  • the actions selected by the global neural network given a particular set of inputs are provided to the agent 200, which is adapted to interact with the environment (eg, HVAC devices in the environment) in accordance with the provided actions.
  • agent 200 can be adapted to modify the operation of radiators, air conditioners, dehumidifiers, and so on. to maintain the desired range of temperatures, humidity, etc.
  • FIG. 10 describes an embodiment in which a reinforcement learning system is used in conjunction with an agent 200 to control an HVAC device or HVAC system.
  • An HVAC system is a system containing a plurality of HVAC devices, which may include a central control system or a controller (eg, a computer device for controlling a plurality of computer devices).
  • the (trained) neural network takes as input information about the change in the environment (environment).
  • This change may refer to, for example: a change in the weather, a change in population in the environment, and/or the opening and closing of doors.
  • the input signal can be obtained from the sensor of the HVAC unit.
  • a plurality of HVAC devices are connected (connected) to form an HVAC system that can be controlled by a controller.
  • the controller may then send input to each of the HVAC units, for example, a desired change in conditions or a change in environmental conditions may be sent to the HVAC units.
  • a controller can contain a neural network where the controller determines the appropriate action for each of the HVAC units and communicates these actions to the HVAC units.
  • the controller may comprise a plurality of neural networks that are associated with different HVAC devices and/or groups of HVAC devices.
  • a neural network may be present on the computing device of a single HVAC device.
  • the neural network provides (eg, recommends) an action based on the input.
  • the action is determined based on the parameters of the neural network whose parameters have been determined using the learning method described above, so that the neural network provides the appropriate action for the given input.
  • the neural network implements the action via the agent 200.
  • the agent may change the operation of the HVAC device.
  • the HVAC device and/or HVAC system provides output related to the activities.
  • an HVAC device may display energy consumption to a user and/or provide an audible alert indicating a deviation from a set of target conditions.
  • each HVAC device and/or HVAC system is adapted to periodically output usage information related to the use of the HVAC devices in the environment.
  • a reinforcement learning software system to control an HVAC device typically involves using one of the constituent neural networks (eg, global actor neural network 301) to control the HVAC device.
  • one of the constituent neural networks eg, global actor neural network 301
  • This neural network (eg, global actor neural network 301) can be trained using the methods disclosed herein, and then can be transmitted to an HVAC device or controller for an HVAC system. This may include transfer parameters of the trained global neural network-actor to the HVAC device or controller. This trained neural network can then control the HVAC device depending on inputs received (eg, measured environmental changes and/or signals received from the HVAC control system).
  • the reinforcement learning software system as a whole is present only during training, with global neural network 300 (and/or global neural network actor 301) being transferred from the training device to the HVAC device after neural the networks converged and the training of the reinforcement learning system was completed.
  • training reinforcement learning system 110 may include one or more of the following: unsupervised deep learning and/or shallow learning, generative adversarial networks (GANs), variational autoencoders (VAEs). Such techniques may allow a once trained HVAC device model to be reused for similar HVAC devices with dissimilar action spaces. While reinforcement learning software typically uses reinforcement learning, other machine learning methods can be used instead of or in addition to reinforcement learning.
  • GANs generative adversarial networks
  • VAEs variational autoencoders
  • reinforcement learning system 110 may use any type of learning system, where the reinforcement learning system would normally still includes a link with a global learning system and many child learning systems.
  • the type of machine learning systems used may be determined based on the environment and/or input datasets.
  • the reward generation function used to train the actor-critic system is dynamic and/or selected from a variety of possible reward generation functions.
  • the reward generation function may depend on the rate of convergence and/or difference in performance related to key metrics (for example, if the actor-critic system is close to optimal for the first of the key metrics, but performs poorly for the second key metric, then the generation function rewards can be modified to prioritize the second key metric).
  • training reinforcement learning system 110 may include hyperparameter auto-correction.
  • multiple agents are trained at the same time, and these agents have different reward generating functions. This may include training multiple agents for a single HVAC device or for a group of HVAC devices. These agents can then be activated and used depending on the desired set of conditions. For example, a first group of agents may be trained to perform optimally for a first set of target conditions, and a second group of agents may be trained to perform optimally for a second set of target conditions.
  • the environment is usually associated with the building.
  • the environment refers to a plurality of related buildings (eg, a plurality of neighboring buildings).
  • Reinforcement learning system 110 and agent 200 can then be trained to work together optimally (eg, one building may be affected by turning on the air conditioning for another building).
  • game theory is used to determine the rational allocation of resources.

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Air Conditioning Control Device (AREA)

Abstract

The invention relates to the field of technology for controlling at least one heating, ventilation and air conditioning (HVAC) device, as well as for training a trainable system to work with an HVAC device. The technical result of the invention is an improvement in control accuracy and a reduction in costs. A system for controlling a heating, ventilation and air conditioning (HVAC) device comprises: a neural network capable of being trained by a training system; a training system of the neural network of the control system; a reference parameter simulator; a virtual environment module; a controller; and a memory for storing instructions for prompting training of the neural network of the control system using the neural network training system according to steps that include, inter alia, acquiring an input data set; creating, by means of the virtual environment module and on the basis of the acquired input data set, a virtual environment pertaining to one or several HVAC devices; modelling, by means of the reference parameter simulator and on the basis of the acquired input data set, an operating mode of a virtual HVAC device; obtaining a target metric on the basis of said modelling; and training the neural network of the control system in accordance with the obtained target metric and in accordance with the input data set.

Description

СИСТЕМА УПРАВЛЕНИЯ УСТРОЙСТВАМИ ОТОПЛЕНИЯ, ВЕНТИЛЯЦИИ И КОНДИЦИОНИРОВАНИЯ ВОЗДУХА CONTROL SYSTEM FOR HEATING, VENTILATION AND AIR CONDITIONING DEVICES
Область техники: Technical field:
[0001] Настоящее изобретение относится к области вычислительной техники для управления, по меньшей мере, одним устройством отопления, вентиляции и кондиционирования воздуха (ОВКВ), а также для обучения обучающей системы работе с устройством ОВКВ. [0001] The present invention relates to the field of computer technology for controlling at least one heating, ventilation and air conditioning (HVAC) device, as well as for teaching a training system to work with the HVAC device.
Уровень техники: State of the art:
[0002] Нейронные сети - это модели машинного обучения, которые используют один или несколько слоев, которые нелинейным образом преобразуют данные из блоков, называемых нейронами, для прогнозирования выходных данных для заданных входных данных. Некоторые из этих сетей являются глубокими сетями с одним или несколькими скрытыми слоями в дополнение к выходному слою. Выходные данные каждого слоя используются в качестве входных данных для следующего уровня нейронной сети, например, скрытый слой или выходной слой. Каждый уровень формирует свой вывод из полученных входных данных в соответствии с текущими значениями набора параметров. [0002] Neural networks are machine learning models that use one or more layers that non-linearly transform data from blocks called neurons to predict outputs for given inputs. Some of these networks are deep networks with one or more hidden layers in addition to the output layer. The output of each layer is used as input to the next layer of the neural network, such as the hidden layer or the output layer. Each level generates its output from the received input data in accordance with the current values of the parameter set.
[0003] Существует множество известных методов обучения агентов, управляющих сложными системами. Эти методы пытаются обучить систему, которая может выбирать оптимальные решения из фиксированного набора действий. Такие системы обычно требуют большого количества обучающих данных и часто не могут адаптироваться к ситуациям, которые не были включены в обучающий набор данных. [0003] There are many well-known methods for training agents that manage complex systems. These methods attempt to train a system that can choose optimal solutions from a fixed set of actions. Such systems usually require a large amount of training data and often cannot adapt to situations that were not included in the training dataset.
[0004] Одним из примеров таких систем является способ непрерывного управления с помощью глубокого обучения с подкреплением, описанный в RU 2686030 С1. Известный способ включает получение минипакета экспериментальных кортежей и обновление текущих значений параметров нейронной сети-исполнителя (нейронной сети-актора), содержащее для каждого экспериментального кортежа в минипакете: обработку учебного наблюдения и учебного действия в экспериментальном кортеже с использованием нейронной сети-критика для определения вывода нейронной сети для экспериментального кортежа и определение прогнозного вывода нейронной сети для экспериментального кортежа. Обновление текущих значений параметров нейронной сети-критика с использованием ошибок между прогнозными выводами нейронной сети и выводами нейронной сети и обновление текущих значений параметров нейронной сети-актора с использованием нейронной сети-критика. [0004] One example of such systems is the continuous control method using deep reinforcement learning described in RU 2686030 C1. The known method includes obtaining a mini-package of experimental tuples and updating the current values of the parameters of the neural network-actor (neural network-actor), containing for each experimental tuple in the mini-package: processing the training observation and training action in the experimental tuple using the neural network-critic to determine the output of the neural networks for the experimental tuple and determining the predictive output of the neural network for the experimental tuple. Updating the current values of the parameters of the neural network-critic using errors between the predictive outputs of the neural network and the outputs of the neural network, and updating the current values of the parameters of the neural network-actor using the neural network-critic.
[0005] Однако известному изобретению присущи недостатки. В случае применения известного способа к использованию в управлении устройством ОВКВ в числе недостатков известного способа могут быть указаны низкая точность управления, по меньшей мере, одним устройством ОВКВ для обеспечения оптимального отопления, вентиляции и кондиционирования воздуха в помещении. Также в числе недостатков должны быть указаны низкая точность поддержания постоянного внутреннего микроклимата. Данные недостатки обусловлены тем, что использование в известном способе прогнозной нейронной сети-актора и прогнозной нейронной сети-критика для определения обновлений для текущих значений параметров нейронной сети-актора приводит к существенному увеличению вычислительной сложности и, следовательно, к увеличению времени, необходимого для обучения нейронной сети. Увеличение вычислительной сложности приводит к снижению точности управления устройством ОВКВ, поскольку данное обстоятельство приводит к погрешности вычислений. [0005] However, the known invention has disadvantages. In the case of applying the known method to use in HVAC unit control, disadvantages of the known method may include poor control accuracy of at least one HVAC unit to provide optimal heating, ventilation and air conditioning in the room. Also, among the disadvantages, the low accuracy of maintaining a constant internal microclimate should be indicated. These shortcomings are due to the fact that the use in the known method of the predictive neural network-actor and the predictive neural network-critic to determine updates for the current values of the parameters of the neural network-actor leads to a significant increase in computational complexity and, consequently, to an increase in the time required for neural network training. An increase in computational complexity leads to a decrease in the control accuracy of the HVAC device, since this circumstance leads to a calculation error.
[0006] При обучении нескольких агентов вычислительная сложность может расти экспоненциально, что приводит к чрезмерному времени обучения. Желательно разработать новые методы обучения нейронных сетей, которые обеспечивают хорошую работу нейронных сетей, минимизируя время, необходимое для обучения таких нейронных сетей. [0006] When training multiple agents, the computational complexity can grow exponentially, resulting in excessive training time. It is desirable to develop new neural network training methods that ensure that neural networks perform well while minimizing the time required to train such neural networks.
Раскрытие изобретения: Disclosure of the invention:
[0007] Задачей, решаемой заявленным изобретением, является устранения по меньшей мере одного вышеприведенного недостатка. [0007] The problem solved by the claimed invention is to eliminate at least one of the above drawbacks.
[0008] Технический результат заявляемого изобретения заключается в повышении точности управления, по меньшей мере, одним устройством отопления, вентиляции и кондиционирования воздуха (ОВКВ) для повышения точности поддержания постоянного внутреннего микроклимата и, как следствие, снижения затрат энергии. [0008] The technical result of the claimed invention is to improve the control accuracy of at least one heating, ventilation and air conditioning (HVAC) device to improve the accuracy of maintaining a constant internal microclimate and, as a result, reduce energy costs.
[0009] Дополнительным техническим результатом является минимизация времени и вычислительных ресурсов, необходимых для обучения нейронной сети системы управления, по меньшей мере, одним устройством ОВКВ. [0009] An additional technical result is to minimize the time and computing resources required to train the neural network of the control system with at least one HVAC device.
[0010] В первом возможном варианте выполнения настоящего изобретения предусмотрена контроллер [0010] In the first possible embodiment of the present invention, a controller is provided
[ООП] Дополнительно целевая метрика включает, по меньшей мере, один из следующих показателей или их комбинации: потребление электроэнергии и/или мощности, стоимость электроэнергии и/или мощности, время работы устройства ОВКВ, количество изменений в работе устройства ОВКВ, отклонение от целевых условий. [OOP] Additionally, the target metric includes at least one of the following or combinations thereof: electricity and/or power consumption, cost of electricity and/or power, HVAC unit run time, number of changes in HVAC unit operation, deviation from target conditions .
[0012] Дополнительно система обучения содержит систему актор- критик, содержащую нейронную сеть-актор и нейронную сеть-критик. [0013] Дополнительно система обучения содержит глобальную систему обучения актор-критик и одну или несколько дочерних систем обучения актор-критик, при этом: глобальная система актор-критик содержит глобальную нейронную сеть-актор и глобальную нейронную сеть-критик; одна или несколько дочерних систем актор-критик содержит дочернюю нейронную сеть-актор и дочернюю нейронную сеть-критик. [0012] Additionally, the learning system comprises an actor-critic system comprising an actor neural network and a critic neural network. [0013] Additionally, the learning system comprises a global actor-critic learning system and one or more child actor-critic learning systems, wherein: the global actor-critic system comprises a global neural network-actor and a global neural network-critic; one or more actor-critic child systems contain an actor-child neural network and a critic-child neural network.
[0014] Дополнительно обучение нейронной сети системы управления включает: передачу градиентов, по меньшей мере, от одной дочерней системы обучения в глобальную систему обучения и обновление параметров глобальной системы обучения на основе градиентов, полученных, по меньшей мере, от одной дочерней системы обучения; копирование параметров из глобальной системы обучения, по меньшей мере, в одну дочернюю систему обучения; и повторение этапов передачи градиентов и копирования параметров, при этом повторение этапов передачи градиентов и копирования параметров происходит до тех пор, пока каждая из нейронных сетей дочерней системы и глобальной системы не сойдутся. [0014] Further, training the neural network of the control system includes: transferring gradients from at least one child learning system to the global learning system and updating parameters of the global learning system based on the gradients received from at least one child learning system; copying parameters from the global learning system to at least one child learning system; and repeating the steps of transmitting gradients and copying parameters, wherein the steps of transmitting gradients and copying parameters are repeated until each of the neural networks of the child system and the global system converge.
[0015] Дополнительно обучение нейронной сети системы управления включает определение объединения, по меньшей мере, двух нейронных сетей для обеспечения заданного режима работы, по меньшей мере, одного виртуального устройства ОВКВ в соответствии с упомянутым виртуальным окружением. [0015] Additionally, training the neural network of the control system includes determining the combination of at least two neural networks to provide a given mode of operation of at least one virtual HVAC device in accordance with the said virtual environment.
[0016] Дополнительно обучение нейронной сети системы управления включает обучение, по меньшей мере, одной дочерней системы в зависимости от отдельной копии виртуального окружения, при этом каждая из копий виртуального окружения имеет разные свойства инициализации, а свойства инициализации включают, по меньшей мере, одно из следующих значений или их комбинацию: плотность заселенности людей в помещении, разные конфигурации по меньшей мере, одного виртуального устройства ОВКВ и/или разные конфигурации виртуальной модели помещения. [0016] Additionally, training the neural network of the control system includes training at least one child system depending on a separate copy of the virtual environment, each of the copies of the virtual environment has different initialization properties, and the initialization properties include at least one of the following values or a combination of them: density of people in the room, different configurations at least at least one HVAC virtual appliance and/or different virtual room model configurations.
[0017] Дополнительно симулятор базовых показателей выполнен с возможностью предоставления отдельной целевой метрики для, по меньшей мере, одной дочерней системы, причем отдельные целевые метрики для упомянутой дочерней системы определяются в зависимости от соответствующей отдельной копии виртуального окружения. [0017] Additionally, the baseline simulator is configured to provide a separate target metric for at least one child system, with separate target metrics for said child system being determined depending on the corresponding separate copy of the virtual environment.
[0018] Дополнительно нейронная сеть системы управления обучается в зависимости от набора целевых условий, предоставляемых симулятором базовых показателей, где набор целевых условий включает одно или несколько из условий: температура в помещении и/или температура за пределами помещения, влажность в помещении и/или влажность за пределами помещения. [0018] Additionally, the neural network of the control system is trained depending on a set of target conditions provided by the baseline simulator, where the set of target conditions includes one or more of the conditions: indoor temperature and/or outdoor temperature, indoor humidity and/or humidity outside the premises.
[0019] Дополнительно нейронная сеть обучается в зависимости от множества целевых показателей и/или наборов целевых условий, предоставляемых симулятором базовых показателей, где каждая целевая метрика используется системой обучения для отдельного шага обучения. [0019] Additionally, the neural network is trained depending on a set of target indicators and/or sets of target conditions provided by the baseline simulator, where each target metric is used by the learning system for a separate training step.
[0020] Дополнительно обучение нейронной сети системы управления включает создание агента обучения с подкреплением, настроенного для работы в зависимости от системы обучения, причем агент выполнен с возможностью взаимодействия, по меньшей мере, с одним виртуальным устройством ОВКВ в упомянутом виртуальном окружении. [0020] Further, training the neural network of the control system includes creating a reinforcement learning agent configured to operate depending on the training system, wherein the agent is configured to interact with at least one virtual HVAC device in said virtual environment.
[0021] Дополнительно симулятор базовых показателей выполнен с возможностью предоставления множества целевых показателей и/или целевых условий в зависимости от максимального количества действий, которые может предпринять упомянутый агент в течение заранее определенного периода обучения. [0021] Additionally, the baseline simulator is configured to provide a plurality of targets and/or target conditions depending on the maximum number of actions that said agent can take during a predetermined learning period.
[0022] Дополнительно симулятор базовых показателей выполнен с возможностью предоставления целевой метрики в зависимости от входного набора данных, содержащего ограниченный по времени набор данных, при этом нейронная сеть системы управления обучается в зависимости от того же ограниченного по времени набора данных. [0022] Additionally, the baseline simulator is configured to provide a target metric depending on the input dataset containing the time-limited set data, while the neural network of the control system is trained depending on the same time-limited data set.
[0023] Дополнительно симулятор базовых показателей выполнен с возможностью предоставления целевой метрики без использования нейронной сети системы управления и/или с возможностью предоставления целевой метрики с использованием одного или нескольких из следующих методов: метод дерева решений, метод линейного преобразования данных, методы, основанные на анализе связи, методы, использующие повышение градиента. [0023] Additionally, the baseline simulator is configured to provide a target metric without using the neural network of the control system and/or to provide a target metric using one or more of the following methods: a decision tree method, a linear data transformation method, analysis-based methods connections, methods using gradient boosting.
[0024] Дополнительно симулятор базовых показателей выполнен с возможностью предоставления целевой метрики в зависимости от одного из следующего: пользовательский ввод данных для управления работой, по меньшей мере, одного устройства ОВКВ в упомянутом виртуальном окружении и/или сохраненных данных, относящихся к работе виртуальных устройств ОВКВ. [0024] Additionally, the baseline simulator is configured to provide a target metric depending on one of the following: user input to control the operation of at least one HVAC device in said virtual environment and/or stored data related to the operation of the virtual HVAC devices .
[0025] Дополнительно входной набор данных содержит одни или несколько из следующих данных: данные описания и/или конфигурации ОВКВ устройств в упомянутом виртуальном окружении, данные планировки здания и/или зональной планировки, данные климатических условий. [0025] Additionally, the input dataset contains one or more of the following data: HVAC device description and/or configuration data in said virtual environment, building layout and/or area layout data, climate condition data.
[0026] Дополнительно обучение нейронной сети системы управления включает предоставление множества упомянутых агентов, где каждый из агентов выполнен с возможностью выполнения множества действий и/или связи, по меньшей мере, с одним устройством ОВКВ. [0026] Additionally, training the neural network of the control system includes providing a plurality of said agents, where each of the agents is configured to perform a plurality of actions and/or communicate with at least one HVAC device.
[0027] Дополнительно обучение нейронной сети системы управления включает обучение множества систем обучения, где обучение каждой системы обучения из множества систем обучения происходит в упомянутом окружении для каждого виртуального устройства ОВКВ и/или для каждой группы из множества групп аналогичных виртуальных устройств ОВКВ. [0028] Дополнительно обучение нейронной сети системы управления включает обучение множества систем обучения, связанных с множеством упомянутых агентов, при этом каждая система обучения выполнена с возможностью взаимодействия с соответствующим агентом. [0027] Additionally, training the neural network of the control system includes training a plurality of learning systems, where training of each learning system of the plurality of learning systems occurs in said environment for each virtual HVAC device and/or for each group of a plurality of groups of similar virtual HVAC devices. [0028] Additionally, training a control system neural network includes training a plurality of learning systems associated with a plurality of said agents, each learning system being configured to interact with a respective agent.
[0029] Дополнительно обучение нейронной сети системы управления включает: обучение первой дочерней системы первой системы обучения и первой дочерней системы второй системы обучения в зависимости от первой копии упомянутого виртуального окружения; обучение второй дочерней системы первой системы обучения и второй дочерней системы второй системы обучения в зависимости от второй копии упомянутого виртуального окружения; при этом первая дочерняя система первой системы обучения и первая дочерняя система второй системы обучения выполнены с возможностью взаимодействия с первой копией упомянутого виртуального окружения одновременно и/или первая дочерняя система первой системы обучения и первая дочерняя система второй системы обучения выполнены с возможностью взаимодействия с первой копией упомянутого виртуального окружения в соответствии с заранее определенным условием. [0029] Additionally, training the neural network of the control system includes: training the first child system of the first learning system and the first child system of the second learning system depending on the first copy of said virtual environment; training a second child system of the first learning system and a second child system of the second learning system depending on the second copy of said virtual environment; wherein the first child system of the first learning system and the first child system of the second learning system are configured to interact with the first copy of said virtual environment simultaneously and/or the first child system of the first learning system and the first child system of the second learning system are configured to interact with the first copy of said virtual environment according to a predetermined condition.
[0030] Во втором возможном варианте выполнения настоящего изобретения предусмотрен способ управления, по меньшей мере, одним устройством отопления, вентиляции и кондиционирования воздуха (ОВКВ), включающий этапы, на которых: включающий этапы, на которых: получают входной набор данных; создают виртуальное окружение, связанное с одним или несколькими устройствами ОВКВ, на основании полученного входного набора данных, по меньшей мере, одной виртуальной модели устройства ОВКВ, и по меньшей мере, одной виртуальной модели помещения, в котором располагается упомянутая, по меньшей мере, одна виртуальная модель устройства ОВКВ; выполняют моделирование режима работы упомянутого, по меньшей мере, одного виртуального устройства ОВКВ в упомянутой виртуальной модели помещения на основе полученного входного набора данных; получают целевую метрику на основании выполненного моделирования; и выполняют обучение нейронной сети системы управления, по меньшей мере, одним устройством ОВКВ в соответствии с полученной целевой метрикой и в соответствии с входным набором данных; посредством контроллера выполняют генерирование управляющих инструкций; и передают упомянутые инструкции, по меньшей мере, одному устройству ОВКВ, где упомянутые управляющие инструкции сгенерированы на основании полученной целевой метрики. [0030] In a second possible embodiment of the present invention, there is provided a method for controlling at least one heating, ventilation and air conditioning (HVAC) device, comprising the steps of: comprising the steps of: receiving an input data set; create a virtual environment associated with one or more HVAC devices, based on the received input data set, at least one virtual model of the HVAC device, and at least one virtual model of the room in which said at least one virtual HVAC device model; performing an operation mode simulation of said at least one virtual HVAC device in said virtual model premises based on the received input dataset; obtaining a target metric based on the simulation performed; and performing training of the neural network of the control system, at least one HVAC device in accordance with the received target metric and in accordance with the input data set; the controller generates control instructions; and transmitting said instructions to at least one HVAC device, where said control instructions are generated based on the received target metric.
[0031] В третьем возможном варианте выполнения настоящего изобретения предусмотрен машиночитаемый носитель, хранящий компьютерный программный продукт, содержащий инструкции, которые при их выполнении процессором побуждают процессор выполнять способ управления, по меньшей мере, одним устройством отопления, вентиляции и кондиционирования воздуха (ОВКВ). [0031] In a third exemplary embodiment of the present invention, a computer readable medium is provided for storing a computer program product containing instructions that, when executed by a processor, cause the processor to perform a method for controlling at least one heating, ventilation, and air conditioning (HVAC) device.
[0032] В четвертом возможном варианте выполнения настоящего изобретения предусмотрен способ обучения нейронной сети системы управления, по меньшей мере, одним устройством отопления, вентиляции и кондиционирования воздуха (ОВКВ), включающий этапы, на которых: получают входной набор данных; создают, посредством модуля виртуального окружения, виртуальное окружение, связанное с одним или несколькими устройствами ОВКВ, на основании полученного входного набора данных, по меньшей мере, одну виртуальную модель устройства ОВКВ, и по меньшей мере, одну виртуальную модель помещения, в котором располагается упомянутая, по меньшей мере, одна виртуальная модель устройства ОВКВ; выполняют симулятором базовых показателей моделирование режима работы упомянутого, по меньшей мере, одного виртуального устройства ОВКВ в упомянутой виртуальной модели помещения на основе полученного входного набора данных; получают целевую метрику на основании выполненного моделирования; и выполняют обучение нейронной сети системы управления в соответствии с полученной целевой метрикой и в соответствии с входным набором данных. [0032] In a fourth possible embodiment of the present invention, a method is provided for training a neural network of a control system with at least one heating, ventilation, and air conditioning (HVAC) device, comprising the steps of: receiving an input data set; create, by means of a virtual environment module, a virtual environment associated with one or more HVAC devices, based on the received input data set, at least one virtual model of the HVAC device, and at least one virtual model of the room in which the mentioned is located, at least one virtual HVAC device model; executing, with the baseline simulator, an operation mode simulation of said at least one virtual HVAC device in said virtual room model based on the received input data set; obtaining a target metric based on the simulation performed; and performing training of the neural network of the control system in accordance with the obtained target metric and in accordance with the input data set.
[0033] Очевидно, что как предыдущее общее описание, так и последующее подробное описание даны лишь для примера и пояснения и не являются ограничениями данного изобретения. [0033] Obviously, both the foregoing general description and the following detailed description are for exemplary and explanatory purposes only and are not limitations of the present invention.
Краткое описание чертежей: Brief description of drawings:
[0034] На фиг. 1 показана примерный вид виртуального окружения, содержащего устройство ОВКВ. [0034] FIG. 1 shows an exemplary view of a virtual environment containing an HVAC device.
[0035] На фиг. 2 показана система, включающая систему обучения с подкреплением . [0035] FIG. 2 shows a system including a reinforcement learning system.
[0036] На фиг. 3 показано компьютерное устройство, на котором может быть реализована система, показанная на фиг. 2. [0036] FIG. 3 shows a computer device on which the system shown in FIG. 2.
[0037] На фиг. 4 показана нейронная сеть системы управления, по меньшей мере, одним устройством ОВКВ. [0037] FIG. 4 shows a neural network of a control system for at least one HVAC unit.
[0038] На фиг. 5 показана система «актор-критик» («исполнитель- критик»). [0038] FIG. Figure 5 shows the "actor-critic" ("performer-critic") system.
[0039] На фиг. 6 показан подробный вариант системы обучения с подкреплением, предназначенной для системы, показанной на фиг. 2. [0039] FIG. 6 shows a detailed version of a reinforcement learning system for the system shown in FIG. 2.
[0040] На фиг. 7 показано взаимодействие дочерних и глобальных нейронных сетей в соответствии с фиг. 6. [0040] In FIG. 7 shows the interaction of child and global neural networks in accordance with FIG. 6.
[0041] На фиг. 8 показан способ обновления весов дочерних нейронных сетей и глобальной нейронной сети в соответствии с фиг. 6. [0041] FIG. 8 shows a method for updating the weights of the child neural networks and the global neural network in accordance with FIG. 6.
[0042] На фиг. 9 показаны взаимодействия между агентами, системами обучения с подкреплением и копиями виртуального окружения, которые могут присутствовать в системе в соответствии с фиг. 2. [0042] FIG. 9 shows interactions between agents, reinforcement learning systems, and virtual environment copies that may be present in the system of FIG. 2.
[0043] На фиг. 10 показан способ предоставления результата на основе действия, предложенного системой обучения с подкреплением. Осуществление изобретения: [0043] FIG. 10 shows a method for providing a result based on an action proposed by a reinforcement learning system. Implementation of the invention:
[0044] В соответствии с фиг. 1 в описании раскрыт примерный вид виртуального окружения, содержащего устройство ОВКВ. В частности, на фиг. 1 показано помещение 10, которое включает два радиатора 12-1 , 12-2 (частные случаи выполнения устройств ОВКВ) и блок 14 кондиционирования воздуха (частный случай выполнения устройства ОВКВ). Каждое из этих устройств ОВКВ можно использовать для изменения условий в помещении. Например, радиаторы можно использовать для обогрева помещения, а кондиционер можно использовать для охлаждения помещения. [0044] Referring to FIG. 1, the description discloses an exemplary view of a virtual environment containing an HVAC device. In particular, in FIG. 1 shows a room 10 which includes two radiators 12-1, 12-2 (special cases of HVAC devices) and an air conditioning unit 14 (special case of HVAC device). Each of these HVAC units can be used to change indoor conditions. For example, radiators can be used to heat a space, and an air conditioner can be used to cool a space.
[0045] Использование этих устройств требует определенных затрат, например, стоимости электроэнергии и стоимости обслуживания устройства. Следовательно, желательно, чтобы эти устройства работали эффективно, поддерживая желаемые условия в помещении с точностью, соответствующей желаемым или целевым условиям в помещении. [0045] The use of these devices requires certain costs, such as the cost of electricity and the cost of maintaining the device. Therefore, it is desirable that these devices operate efficiently to maintain the desired indoor conditions with accuracy corresponding to the desired or target indoor conditions.
[0046] В данном случае раскрыта нейронная сеть для управления устройством ОВКВ, а также способ обучения этой нейронной сети и системы управления, по меньшей мере, одним устройством ОВКВ, содержащей такую нейронную сеть. Следует понимать, что способы и системы, раскрытые в данном документе, также могут использоваться в других ситуациях (не связанных с ОВКВ). [0046] In this case, a neural network for controlling an HVAC device is disclosed, as well as a method for training this neural network and a control system for at least one HVAC device containing such a neural network. It should be understood that the methods and systems disclosed herein may also be used in other situations (not related to HVAC).
[0047] Нейронная сеть может присутствовать в самом устройстве ОВКВ. Точно так же устройство ОВКВ может присутствовать в системе управления, которая управляет устройством. В частности, может быть предусмотрен контроллер, содержащий одну или несколько нейронных сетей, причем этот контроллер может управлять системой ОВКВ и выполнять обучение упомянутой нейронной сети системы управления, причем эта система ОВКВ содержит множество устройств ОВКВ. [0047] The neural network may be present in the HVAC device itself. Similarly, an HVAC device may be present in the control system that controls the device. In particular, a controller may be provided comprising one or more neural networks, this controller being able to control the HVAC system and perform training of said control system neural network, the HVAC system comprising a plurality of HVAC devices.
[0048] Далее со ссылкой на фиг. 2 описана система, в которой система 110 обучения нейронной сети системы управления с подкреплением (далее система 110 обучения с подкреплением) обучается в зависимости от: одного или нескольких наборов входных данных 102, 103, 104, модуля 100 виртуального окружения и симулятора 400 базовых показателей. Модуль 100 виртуального окружения может быть реализован отдельным вычислительным устройством в совокупности с программным обеспечением и выполнен с возможностью создания виртуального окружения, связанного с одним или несколькими устройствами ОВКВ, включающего создание, на основании полученного входного набора данных, по меныпей мере, одной виртуальной модели устройства ОВКВ, и по меньшей мере, одной виртуальной модели помещения, в котором располагается упомянутая, по меньшей мере, одна виртуальная модель устройства ОВКВ. [0048] Next, with reference to FIG. 2 describes a system in which the neural network training system 110 of the control system with reinforcement (hereinafter reinforcement learning system 110) is trained depending on: one or more sets of input data 102, 103, 104, virtual environment module 100, and baseline simulator 400. The virtual environment module 100 may be implemented by a separate computing device in conjunction with software and configured to create a virtual environment associated with one or more HVAC devices, including creating, based on the received input data set, at least one virtual model of the HVAC device , and at least one virtual model of the room in which said at least one virtual model of the HVAC device is located.
[0049] В примере, показанном на фиг. 2, входные наборы данных содержат набор 102 описаний и конфигураций устройств, набор 103 данных с описанием здания и набор 104 данных о погодных условиях. Следует иметь ввиду, что в более общем плане входные наборы данных могут содержать ряд входных данных и что на практике могут использоваться разные наборы данных. [0049] In the example shown in FIG. 2, the input datasets comprise a device description and configuration dataset 102, a building description dataset 103, and a weather dataset 104. It should be kept in mind that, more generally, input datasets may contain a number of input data and that different datasets may be used in practice.
[0050] Типовые наборы данных на фиг. 2 особенно полезны там, где обучающая система применяется для управления системой отопления, вентиляции и кондиционирования воздуха (ОВКВ). Следует понимать, что другие наборы данных могут использоваться, в частности, когда обучающая система применяется к другим системам. [0050] The exemplary data sets in FIG. 2 are particularly useful where the learning system is used to control a heating, ventilation and air conditioning (HVAC) system. It should be understood that other datasets may be used, particularly when the training system is applied to other systems.
[0051] Набор данных описаний и конфигураций устройств может, например, относиться к доступным конфигурациям кондиционеров, термостатов, увлажнителей, теплообменников и т.д. В более общем смысле, один из входных наборов данных обычно представляет собой набор данных, который определяет пространство действий и/или набор доступных действий агента (например, включение или выключение кондиционера). Затем на основе системы ПО обучения с подкреплением идентифицируются подходящие действия, которые агент должен предпринять на практике (после того, как система обучения с подкреплением обучена). Например, набор погодных условий может использоваться в качестве входных данных для системы обучения с подкреплением, и агент 200 может включать или выключать кондиционер на основе выходных данных системы обучения с подкреплением. В базовом примере система обучения с подкреплением может идентифицировать, что кондиционер должен быть включен, когда имеются погодные условия с высокой температурой. В контексте настоящего изобретения под агентом подразумевается исполнитель управляющих действий. Он обладает одной или несколькими сервисными возможностями, образующими единую и комплексную модель выполнения, которая может включать доступ к внешнему программному обеспечению (ПО), пользователям, средствам связи, устройствам ОВКВ и т.д. Иными словами агент - модуль управления внешними устройствами. Агент реализован в виде программно-аппаратного обеспечения и может быть воплощен, например, в виде вычислительного устройства управления устройствами ОВКВ, контроллера управления устройством ОВКВ, расположенном в устройстве ОВКВ и/или за его пределами и т.д. [0051] The set of device descriptions and configurations may, for example, refer to the available configurations of air conditioners, thermostats, humidifiers, heat exchangers, etc. More generally, one of the input datasets is typically a dataset that defines an action space and/or a set of available actions for an agent (eg turning an air conditioner on or off). Then based on the reinforcement learning software system suitable actions are identified that the agent should take in practice (after the reinforcement learning system has been trained). For example, a set of weather conditions can be used as input to a reinforcement learning system, and agent 200 can turn an air conditioner on or off based on the output of the reinforcement learning system. In the basic example, the reinforcement learning system can identify that the air conditioner should be turned on when there are high temperature weather conditions. In the context of the present invention, the agent means the performer of control actions. It has one or more service capabilities that form a single and complex execution model, which may include access to external software (SW), users, communications, HVAC devices, etc. In other words, an agent is a module for managing external devices. The agent is implemented as firmware and may be implemented, for example, as an HVAC device control computer, an HVAC device control controller located in and/or outside the HVAC device, etc.
[0052] Входные наборы данных могут включать в себя наборы данных описания 103 здания. Описание здания может указывать размеры, планы и/или зональные подразделения здания. Затем система 110 обучения с подкреплением обучается управлять доступными устройствами для достижения желаемых условий в здании. [0052] The input datasets may include building description 103 datasets. The description of a building may indicate the dimensions, plans, and/or zonal subdivisions of the building. Reinforcement learning system 110 is then trained to control the available devices to achieve the desired building conditions.
[0053] Входные наборы данных могут включать в себя набор 104 данных о погодных условиях (который, в более общем смысле, может быть набором данных об условиях окружающей среды). Этот набор данных можно использовать вместе с описанием здания для определения подходящих действий агента, которые относятся к работе устройств ОВКВ. В частности, изменение погодных условий (например, изменение температуры) может потребовать изменения в работе устройства ОВКВ, если желаемые условия должны поддерживаться в помещении. [0053] The input datasets may include a weather dataset 104 (which, more generally, may be an environmental dataset). This data set can be used in conjunction with the building description to determine appropriate agent actions that are relevant to the operation of the HVAC units. In particular, changes in weather conditions (for example, changes in temperature) may require changes to the operation of the HVAC unit if the desired indoor conditions are to be maintained.
[0054] Каждый входной набор 102, 103, 104 данных выполнен с возможностью передачи их в модуль 100 виртуального окружения. Модуль 100 виртуального окружения выполнен с возможностью передачи данных в систему ПО обучения с подкреплением. В свою очередь, система ПО обучения с подкреплением предназначена для передачи данных агенту 200, который выполнен с возможностью управления параметрами окружения (например, для управления одним или несколькими устройствами в здании). Таким образом, система ПО обучения с подкреплением настраивается для обучения в зависимости от конфигурации модуля 100 виртуального окружения и, следовательно, входных наборов данных. [0054] Each input data set 102, 103, 104 is configured to be passed to the virtual environment module 100. The virtual environment module 100 is configured to send data to the reinforcement learning software system. In turn, the system of reinforcement learning software is designed to transmit data to the agent 200, which is configured to control the parameters of the environment (for example, to control one or more devices in the building). Thus, the reinforcement learning software system is configured for learning depending on the configuration of the virtual environment module 100 and hence the input datasets.
[0055] Модуль 100 виртуального окружения содержит информацию, относящуюся к окружению. Например, модуль 100 виртуального окружения может содержать базу данных устройств ОВКВ вместе с их возможными управляющими сигналами и их местоположением (какую информацию можно получить из входных наборов данных). Таким образом, агент 200 может взаимодействовать с модулем 100 виртуального окружения для управления устройствами, присутствующими в виртуальном окружении. [0055] The virtual environment module 100 contains information related to the environment. For example, the virtual environment module 100 may contain a database of HVAC devices along with their possible control signals and their location (what information can be obtained from the input datasets). Thus, the agent 200 can interact with the virtual environment module 100 to manage the devices present in the virtual environment.
[0056] В примерном виртуальном окружении комнаты 10 на фиг.1 модуль 100 виртуального окружения может содержать размеры комнаты, а также информацию (например, возможные состояния) для каждого из устройств 12-1, 12-2, 14 ОВКВ в комнате. Модуль 100 может дополнительно содержать информацию о конфигурации комнаты, например, есть ли в комнате мебель и/или открыта ли дверь и информацию о занятиях в комнате, например, переполнена ли комната или пуста. Как правило, виртуальное окружение обычно относится к более крупному виртуальному окружению, чем комната (например, здание или множество зданий). [0056] In the exemplary virtual environment of room 10 in FIG. 1, virtual environment module 100 may contain the dimensions of the room as well as information (eg, possible states) for each of the HVAC devices 12-1, 12-2, 14 in the room. Module 100 may further contain information about the configuration of the room, such as whether the room has furniture and/or whether the door is open, and information about activities in the room, such as whether the room is full or empty. Generally, virtual environment usually refers to a larger virtual environment than a room (eg, a building or multiple buildings).
[0057] Симулятор 400 базовых показателей выполнен с возможностью обеспечивать моделирование режима работы, по меньшей мере, одного виртуального устройства ОВКВ в упомянутой виртуальной модели помещения на основе полученного входного набора данных. Обычно симулятор 400 определяется с использованием способа, отличного от обучения с подкреплением, такого как статистическая модель. [0057] The baseline simulator 400 is configured to provide a simulation of the behavior of at least one virtual HVAC device in said virtual room model based on the received input data set. Typically, the simulator 400 is defined using a method other than reinforcement learning, such as a statistical model.
[0058] Также симулятор 400 базовых показателей предназначен для приема входных данных, по крайней мере, от одного из входных наборов данных. В частности, симулятор 400 обычно приспособлен для приема набора данных 102 описаний и конфигураций устройств ОВКВ и/или набора данных 103 описания здания. Как правило, симулятор 400 выполнен с возможностью приема каждого из входных наборов данных, чтобы обеспечить базовый набор выходных данных (с учетом этих наборов данных). [0058] Also, the baseline simulator 400 is designed to receive input from at least one of the input datasets. In particular, the simulator 400 is typically adapted to receive a HVAC device description and configuration data set 102 and/or a building description data set 103. Typically, simulator 400 is configured to receive each of the input datasets to provide a basic output dataset (given those datasets).
[0059] Обычно симулятор 400 выполнен с возможностью обеспечивать достижимые выходные данные, относящиеся к управлению виртуальным окружением с использованием обычных методов моделирования. Например, симулятор 400 может моделировать управление устройствами в виртуальном окружении на основе уравнений или на основе условной логики (например, «если температура поднимается выше 27° С, включите кондиционер»). Таким образом, для любого входного набора данных симулятор 400 может имитировать выходные условия (влажность и температуру), которые могут быть достигнуты с использованием известных средств и/или существующих моделей. [0059] Typically, the simulator 400 is configured to provide achievable outputs related to controlling the virtual environment using conventional modeling techniques. For example, simulator 400 may simulate control of devices in a virtual environment based on equations or based on conditional logic (eg, "if the temperature rises above 27°C, turn on the air conditioner"). Thus, for any input data set, simulator 400 can simulate output conditions (humidity and temperature) that can be achieved using known tools and/or existing models.
[0060] В некоторых вариантах осуществления симулятор 400 используется для определения и обеспечения желаемых условий окружающей среды (окружения). Например, симулятор 400 базовых показателей может обеспечивать желаемую температуру и/или влажность. Эти желаемые условия могут быть основаны на одном или нескольких из: пользовательского ввода, исторических данных и/или моделирования (например, моделирования, которое определяет достижимые значения при заданном пользователем вводе). Затем может быть организована система обучения с подкреплением для достижения этих целевых условий. [0060] In some embodiments, the simulator 400 is used to determine and provide the desired conditions environment (environment). For example, baseline simulator 400 may provide the desired temperature and/or humidity. These desired conditions may be based on one or more of: user input, historical data, and/or simulation (eg, simulation that determines achievable values given user input). A reinforcement learning system can then be set up to achieve these target conditions.
[0061] Дополнительно или в качестве альтернативы симулятор 400 обычно предназначен для предоставления ключевой метрики, относящейся к обеспечению определенных условий. Например, симулятор 400 может предоставить статистику использования электроэнергии, статистику использования устройства и/или статистику износа устройства, которые требуются для получения набора условий. Эта метрика может использоваться в качестве цели системой ПО обучения с подкреплением, где система обучения с подкреплением предназначена для обеспечения тех же или подобных условий с улучшенной метрикой (например, снижение стоимости электроэнергии). [0061] Additionally or alternatively, the simulator 400 is typically designed to provide a key metric related to providing certain conditions. For example, simulator 400 may provide power usage statistics, device usage statistics, and/or device wear statistics that are required to obtain a set of conditions. This metric can be used as a goal by a reinforcement learning software system, where the reinforcement learning system is designed to provide the same or similar conditions with an improved metric (eg, lowering the cost of electricity).
[0062] В различных вариантах осуществления метрика относится к одному или нескольким из следующего: потребление электричества и/или мощности; стоимость электроэнергии и/или мощности (электричество обычно дешевле в определенные периоды дня, поэтому минимизация использования и минимизация затрат могут потребовать различных действий); время работы устройства; количество раз, когда режим работы устройства меняется (это может повлиять на срок службы устройства); и отклонение от желаемых условий (например, максимальное отклонение, среднее отклонение и/или сумма отклонений). [0062] In various embodiments, the metric refers to one or more of the following: electricity and/or power consumption; the cost of electricity and/or power (electricity is usually cheaper at certain times of the day, so minimizing usage and minimizing costs may require different actions); operating time of the device; the number of times the operating mode of the device is changed (this may affect the life of the device); and deviation from desired conditions (eg, maximum deviation, average deviation, and/or sum of deviations).
[0063] В некоторых вариантах осуществления симулятор 400 предоставляет множество метрик. В некоторых вариантах осуществления предоставленная метрика может относиться к множеству составляющих метрик. В каждой из этих ситуаций симулятор 400 может указывать (например, на основе пользовательского ввода) порядок приоритета для метрик. В качестве примера, симулятор 400 может указывать, что симулятор с подкреплением должен уделять первоочередное внимание достижению целевого набора условий, а затем стремиться минимизировать затраты. В качестве альтернативы, симулятор 400 может указать, что небольшое отклонение от целевого набора условий допустимо, если это отклонение позволяет существенно снизить потребление электроэнергии. Более того, выполнение обучения нейронной сети системы управления в соответствии с этапами и, в конечном итоге, получение целевой метрики для дальнейшего управления, по меньшей мере, одним устройством ОВКВ обеспечивает высокую точность поддержания постоянного внутреннего микроклимата для достижения комфортных климатических условий в помещении. Данное обстоятельство обусловлено тем, что непрерывное обучение в соответствии с данными, характеризующими частные варианты исполнения как оборудования ОВКВ, так и возможные варианты выполнения помещений обеспечивает достижение положительных результатов для поддержания комфортных климатических условий в помещении. [0063] In some embodiments, simulator 400 provides a variety of metrics. In some embodiments, the provided metric may refer to a plurality of constituents. metrics. In each of these situations, simulator 400 may indicate (eg, based on user input) the order of precedence for the metrics. As an example, simulator 400 may indicate that a reinforcement simulator should prioritize achieving a target condition set and then seek to minimize costs. Alternatively, the simulator 400 may indicate that a small deviation from the target condition set is acceptable if the deviation would significantly reduce power consumption. Moreover, performing training of the neural network of the control system in accordance with the stages and, ultimately, obtaining a target metric for further control of at least one HVAC device ensures high accuracy in maintaining a constant indoor microclimate to achieve comfortable indoor climate conditions. This circumstance is due to the fact that continuous training in accordance with the data characterizing the individual implementations of both HVAC equipment and the possible implementations of the premises ensures the achievement of positive results in maintaining comfortable climatic conditions in the premises.
[0064] В некоторых вариантах осуществления симулятор 400 выполнен с возможностью использования исторических данных. Например, работа существующей системы отопления, вентиляции и кондиционирования воздуха в течение нескольких месяцев может использоваться для создания симулятора 400. Эти исторические данные можно использовать для определения условий, которые желательны для жителей этого здания, и для определения работы устройств, необходимых для достижения этих условий. Эти исторические данные также можно использовать для формирования цели, которую система 110 обучения с подкреплением должна сопоставить и/или превзойти. [0065] В некоторых вариантах осуществления способ конфигурирования симулятора 400 включает мониторинг окружающей среды и/или устройств ОВКВ для определения базовой операции, причем этот мониторинг предпочтительно проводится в течение периода, составляющего, по меныпей мере, неделю, и/или по меньшей мере, две недели, и/или минимум месяц. Затем можно настроить симулятор 400 для обеспечения индикации работы существующей системы в окружающей среде. [0064] In some embodiments, simulator 400 is configured to use historical data. For example, the operation of an existing HVAC system for several months can be used to create a simulator 400. This historical data can be used to determine the conditions that are desirable for the inhabitants of this building, and to determine the operation of the devices necessary to achieve these conditions. This historical data can also be used to form a goal that the reinforcement learning system 110 must meet and/or beat. [0065] In some embodiments, the method for configuring the simulator 400 includes monitoring the environment and/or HVAC devices to determine baseline operation, preferably over a period of at least a week and/or at least two weeks and/or at least a month. The simulator 400 can then be configured to provide an indication of the operation of the existing system in the environment.
[0066] Целевая метрика может зависеть от исторических данных и/или мониторинга окружения. Точно так же целевая метрика может быть основана на прогнозируемом улучшении. Например, пользователь может предсказать (задать условие), что будет (должно быть) достигнуто повышение эффективности на 20% по сравнению с существующими системами. Тогда целевая метрика может быть основана на 20%-ном сокращении исторически определенного потребления энергии. [0066] The target metric may depend on historical data and/or environmental monitoring. Similarly, a target metric can be based on predicted improvement. For example, the user may predict (set a condition) that a 20% efficiency improvement will (should be) achieved over current systems. The target metric can then be based on a 20% reduction in historically determined energy consumption.
[0067] Создание виртуального окружения может включать в себя один или несколько из следующих шагов: [0067] Creating a virtual environment may include one or more of the following steps:
1. Создание и/или получение физических параметров, необходимых для моделирования, например: i. вводимые пользователем данные (например, вводимые пользователем значения температуры, влажности и т. д.); ii. информацию 103 о здании, а также описание и конфигурацию 102 устройства; iii. информацию о погодных условиях 104 в течение периода, соответствующего моделируемому периоду. Например, для августа месяца любого года. Также можно использовать несколько периодов времени (в течение нескольких лет) для повышения надежности моделирования. 2. Выполнение моделирования для заданного периода времени способами, отличными от обучения с подкреплением. Эти способы могут включать, но не ограничиваются: i. пользовательскими данные (например, уравнения пользовательского ввода); ii. Методами дерева решений; iii. Линейным преобразованием данных; iv. Методами, основанными на анализе связи (регрессия и др.); v. Алгоритмами, использующими повышение градиента; vi. Детерминированными моделями; vii. Стохастическими моделями. 1. Creation and/or obtaining of the physical parameters necessary for modeling, for example: i. user-entered data (for example, user-entered values for temperature, humidity, etc.); ii. building information 103 and device description and configuration 102; iii. information about weather conditions 104 during the period corresponding to the simulated period. For example, for the month of August of any year. You can also use multiple time periods (over several years) to improve the reliability of the simulation. 2. Performing simulations for a given period of time in ways other than reinforcement learning. These methods may include, but are not limited to: i. user data (for example, user input equations); ii. Decision tree methods; iii. Linear data transformation; iv. Methods based on the analysis of communication (regression, etc.); v. Algorithms that use gradient boosting; vi. deterministic models; vii. stochastic models.
[0068] Обычно симулятор 400 использует модели, обученные с доступными, например, ограниченными по времени, наборами данных. В моделях могут использоваться методы, основанные на деревьях решений, или методы, использующие усиление градиента и т.д. Полученное моделирование, впоследствии, передается как часть или как все данные, характеризующие состояние виртуального окружения, в систему 110 обучения с подкреплением. В качестве примера симулятору 400 могут быть заданы погодные условия за исторический месяц (например, сентябрь 2000 г.), и он может после этого предоставить выходные данные моделирования, касающиеся действий, необходимых для поддержания желаемых условий в течение этого периода времени с учетом этих погодных условий. Эти выходные данные могут содержать показатели производительности, такие как потребление электроэнергии, при этом система обучения с подкреплением может использовать эти показатели производительности в качестве цели. [0068] Typically, simulator 400 uses models trained on available, eg, time-limited, datasets. Models can use decision tree based methods or gradient boosting methods, etc. The resulting simulation is subsequently passed as part or all of the data characterizing the state of the virtual environment to the reinforcement learning system 110 . As an example, the simulator 400 may be given weather conditions for a historical month (eg, September 2000) and may then provide simulation output regarding the actions required to maintain the desired conditions for that period of time given those weather conditions. . This output can contain performance metrics such as power consumption, and the reinforcement learning system can use these performance metrics as a target.
[0069] Следовательно, используя входной набор данных, симулятор 400 может предоставить целевую метрику производительности и/или целевой набор условий для системы 110 обучения с подкреплением. Система 110 обучения с подкреплением содержит по меньшей мере одну нейронную сеть, которая обучается с использованием того же набора входных данных и сопоставляет входные данные из этого набора данных с набором действий, которые должны выполняться агентом 200 для достижения или улучшения целевых условий и/или показателей (параметров). Таким образом, систему обучения с подкреплением можно использовать для достижения желаемых/целевых условий здания с учетом определенных условий и определенных входных данных (например, система обучения с подкреплением может поддерживать определенный желаемый диапазон температур в здании). Система обучения с подкреплением обычно способна достичь этих условий, превосходя симулятор 400 по отношению к целевой метрике (например, система обучения с подкреплением может снизить потребление электроэнергии) . [0069] Therefore, using the input dataset, simulator 400 can provide a target performance metric and/or target condition set to reinforcement learning system 110. Reinforcement learning system 110 includes at least one a neural network that is trained using the same input data set and matches the input data from this data set with a set of actions that must be performed by the agent 200 to achieve or improve the target conditions and/or indicators (parameters). Thus, a reinforcement learning system can be used to achieve desired/target building conditions given certain conditions and certain inputs (e.g., a reinforcement learning system can maintain a certain desired temperature range in a building). The reinforcement learning system is usually able to achieve these conditions by outperforming the simulator 400 with respect to the target metric (for example, a reinforcement learning system can reduce power consumption).
[0070] Количество выходных данных симулятора 400 обычно относится к количеству шагов, совершаемых для обучения системы НО обучения с подкреплением; это количество шагов соответствует максимальному количеству действий, которые может выполнить агент 200 до окончания обучения. Таким образом, если временной интервал, выбранный для обучения системы 110 обучения с подкреплением, составляет один месяц, и агент 200 выполнен с возможностью выполнять действия (например, включать или выключать устройства ОВКВ) один раз в день, то симулятор 400 может быть выполнен с возможностью предоставления ряда условий вывода, соответствующих количеству дней в этом месяце, так что на каждом шаге, выполненном агентом 200 в течение интервала времени, выбранного для обучения, существует известный набор целевых условий вывода, предоставляемых симулятором 400. Симулятор 400 обычно предназначен для предоставления метрики для каждого шага (например, ежедневных затрат на электроэнергию); симулятор 400 может дополнительно или альтернативно предоставить метрику для ситуации в целом (например, общие затраты на электроэнергию). [0070] The number of outputs of the simulator 400 generally refers to the number of steps taken to train the HO system of reinforcement learning; this number of steps corresponds to the maximum number of actions that agent 200 can perform before the end of training. Thus, if the time interval chosen to train the reinforcement learning system 110 is one month, and the agent 200 is configured to perform an action (e.g., turn the HVAC devices on or off) once per day, then the simulator 400 may be configured to providing a set of inference conditions corresponding to the number of days in that month, such that at each step performed by the agent 200 during the time interval selected for training, there is a known set of target inference conditions provided by the simulator 400. The simulator 400 is typically designed to provide a metric for each step (for example, daily electricity costs); simulator 400 may additionally or alternatively provide a metric for the situation as a whole (e.g. total electricity costs).
[0071] Симулятор 400 (и система НО обучения с подкреплением) обычно обучаются с использованием данных за значительный период времени, например, несколько месяцев. В течение этого периода погодные условия и/или желаемые условия окружающей среды могут меняться. Например, зимой погодные условия могут быть холоднее, чем в среднем, и выходная мощность использования электроэнергии симулятором 400 может быть соответственно выше среднего. Рассматривая продолжительный период времени, систему обучения с подкреплением можно научить работать на высоком уровне в различных условиях. [0071] The simulator 400 (and the HO reinforcement learning system) are typically trained using data over a significant period of time, such as several months. During this period, weather conditions and/or desired environmental conditions may change. For example, winter weather conditions may be colder than average, and the power output of simulator 400 may be correspondingly higher than average. Considering a long period of time, a reinforcement learning system can be trained to perform at a high level in a variety of conditions.
[0072] Хотя симулятор 400 может выполнять сложное моделирование для получения целевых условий/показателей, эти условия/показатели также могут быть получены более простым способом, например, простое линейное или нелинейное преобразование физических параметров, которые присутствовали до моделирования, а также методами, использующими анализ взаимосвязей между этими физическими параметрами. [0072] Although the simulator 400 can perform complex simulations to obtain target conditions/metrics, these conditions/metrics can also be obtained in a simpler way, for example, a simple linear or non-linear transformation of physical parameters that were present before the simulation, as well as methods using analysis relationships between these physical parameters.
[0073] Примером моделирования, которое может быть обеспечено симулятором 400 базовых показателей, является метод, описанный в спецификации Е + (EnergyPlus) («Технический справочник, документация по EnergyPlusTM версии 9.4.0 (сентябрь 2020 г.); Министерство энергетики США: https://energyplus.net/sites/all/modules/custom/nrel_custom/pdfs/pdfs_v9.4.0/ EngineeringReference.pdf»). Это программное обеспечение с открытым исходным кодом требует в качестве входных данных набор исторических данных о погодных условиях за соответствующий период или периоды времени. Например, если моделирование должно выполняться в сентябре, требуются данные за сентябрь предыдущего года или предыдущих нескольких лет. В качестве вывода предоставляется необходимая информация об использовании устройств ОВКВ для достижения желаемых условий. [0073] An example of the simulation that can be provided by the baseline simulator 400 is the method described in the E+ (EnergyPlus) specification ("Technical Handbook, EnergyPlusTM Documentation Version 9.4.0 (September 2020); US Department of Energy: https ://energyplus.net/sites/all/modules/custom/nrel_custom/pdfs/pdfs_v9.4.0/ EngineeringReference.pdf"). This open source software requires as input a set of historical weather data for the relevant period or periods of time. For example, if the simulation is to be run in September, data from September of the previous year or previous years is required. several years. As a conclusion, the necessary information is provided on the use of HVAC units to achieve the desired conditions.
[0074] Агент 200 выполнен с возможностью взаимодействия с модулем 100 виртуального окружения на основе выходных данных системы 110 обучения с подкреплением. В частности, агент 200 выполнен с возможностью управления устройствами, относящимися к виртуальному окружению для достижения желаемых условий окружающей среды. [0074] The agent 200 is configured to interact with the virtual environment module 100 based on the output of the reinforcement learning system 110. In particular, the agent 200 is configured to control devices related to the virtual environment to achieve the desired environmental conditions.
[0075] Агент 200 работает на основе выходных данных системы ПО обучения с подкреплением, где система НО обучения с подкреплением получает набор входных значений и после этого предоставляет агенту 200 набор действий (например, выходы), где эти действия относятся к работе устройства ОВКВ в окружающей среде. Затем агент 200 реализует действия. Например, набор погодных условий может использоваться в качестве входных данных для системы обучения с подкреплением; затем система ПО обучения с подкреплением определяет (используя нейронную сеть, как описано ниже) соответствующие действия, которые необходимо предпринять для получения желаемого набора условий с учетом этих погодных условий. Эти соответствующие действия передаются агенту 200, который взаимодействует с устройствами ОВКВ в окружающей среде для реализации действий (например, для включения или выключения кондиционера). [0075] The agent 200 operates on the output of the reinforcement learning software system, where the DL reinforcement learning system receives a set of input values and then provides the agent 200 with a set of actions (e.g., outputs), where these actions are related to the operation of the HVAC device in the environment. environment. The agent 200 then implements the actions. For example, a set of weather conditions can be used as input to a reinforcement learning system; then, the reinforcement learning software system determines (using a neural network, as described below) the appropriate actions to take to obtain the desired set of conditions given those weather conditions. These appropriate actions are passed to the agent 200, which interacts with the HVAC devices in the environment to implement the actions (eg, to turn the air conditioner on or off).
[0076] Агент 200 может быть объединен с системой 110 обучения с подкреплением, где система ПО обучения с подкреплением включает агента и предназначена для непосредственного взаимодействия с устройствами ОВКВ в окружающей среде. [0076] Agent 200 may be combined with reinforcement learning system 110, where the reinforcement learning software system includes an agent and is designed to interact directly with HVAC devices in the environment.
[0077] Для каждого устройства ОВКВ в окружающей среде может быть предусмотрен отдельный агент 200 и/или система ПО обучения с подкреплением. Точно так же может быть отдельный агент 200 и/или система ПО обучения с подкреплением, предусмотренная для каждой группы устройств ОВКВ в окружающей среде (например, группа кондиционеров и группа радиаторов могут использовать два отдельных агента). Точно так же может быть один агент 200 и/или система 110 обучения с подкреплением, которая предназначена для управления всеми устройствами в среде. [0077] A separate agent 200 and/or reinforcement learning software system may be provided for each HVAC device in the environment. Similarly, there may be a separate agent 200 and/or a reinforcement learning software system provided for each group of HVAC units in the environment (for example, an air conditioner group and a radiator group may use two separate agents). Similarly, there may be a single agent 200 and/or a reinforcement learning system 110 that is designed to control all devices in an environment.
[0078] В контексте настоящего решения также предусмотрен способ обучения с подкреплением, в котором система ПО обучения с подкреплением обучается так, что она подходит для управления агентом 200. Для взаимодействия с модулем 100 виртуального окружения агент 200 обычно принимает данные, характеризующие его состояние, и принимает действие из множества действий как реакция на эти данные, это действие определяется системой ПО обучения с подкреплением. Данные, характеризующие состояние окружающей среды, можно назвать наблюдением или вводом. Цель системы в целом состоит в том, чтобы максимизировать «вознаграждение», полученное за выполнение действий в описанной среде, где вознаграждение относится к достижению/превышению одного или нескольких показателей (например, предоставленных симулятором 400). Настоящее раскрытие также относится к способу управления, по меньшей мере, одним устройством ОВКВ на основе обученной системы ПО обучения с подкреплением и/или агента 200. [0078] In the context of the present solution, a reinforcement learning method is also provided, in which the reinforcement learning software system is trained so that it is suitable for controlling the agent 200. To interact with the virtual environment module 100, the agent 200 usually receives data indicative of its state, and takes an action from a set of actions as a response to this data, this action is determined by the reinforcement learning software system. Data characterizing the state of the environment can be called observation or input. The goal of the system as a whole is to maximize the "reward" received for performing activities in the described environment, where the reward is related to the achievement/exceeding of one or more indicators (eg, provided by the simulator 400). The present disclosure also relates to a method for controlling at least one HVAC device based on a trained reinforcement learning software system and/or agent 200.
[0079] Обычно система ПО обучения с подкреплением выбирает действия, которые должны выполняться агентом 200, взаимодействуя с модулем 100 виртуального окружения. То есть система 110 обучения с подкреплением принимает данные, относящиеся к окружающей среде и условиям окружающей среды, и выбирает действие из множества действий, которое должно быть выполнено агентом 200. Обычно действие выбирается из непрерывного множества действий. Точно так же действие может быть выбрано из дискретного множества действий (например, ограниченное количество возможных действий). [0079] Typically, the reinforcement learning software system selects the actions to be performed by the agent 200 by interacting with the virtual environment module 100. That is, the reinforcement learning system 110 receives data related to the environment and environmental conditions and selects an action from a set of actions to be performed by the agent 200. Typically, an action is selected from a contiguous set of actions. Similar an action may be selected from a discrete set of actions (eg, a limited number of possible actions).
[0080] Ссылаясь на фиг. 3, каждый из компонентов описанной системы обычно реализуется с использованием компьютерного устройства 1000. Каждый из этих компонентов может быть реализован с использованием одного и того же компьютерного устройства, или компоненты могут быть реализованы с использованием множества компьютерных устройств. [0080] Referring to FIG. 3, each of the components of the described system is typically implemented using the computing device 1000. Each of these components may be implemented using the same computing device, or the components may be implemented using multiple computing devices.
[0081] Компьютерное устройство 1000 содержит процессор в виде центрального процессора (ЦП) 1002, интерфейс связи 1004, память 1006, хранилище 1008, съемное хранилище 1010 и пользовательский интерфейс 1012, соединенные друг с другом шиной 1014. Пользовательский интерфейс 1012 содержит дисплей 1016 и устройство ввода/вывода, которым в этом варианте осуществления являются клавиатура 1018 и мышь 1020. [0081] The computing device 1000 includes a processor in the form of a central processing unit (CPU) 1002, a communication interface 1004, a memory 1006, a storage 1008, a removable storage 1010, and a user interface 1012 connected to each other by a bus 1014. The user interface 1012 includes a display 1016 and a device input/output, which in this embodiment is the keyboard 1018 and the mouse 1020.
[0082] ЦП 1002 выполняет инструкции, включая инструкции, хранящиеся в памяти 1006, запоминающем устройстве 1008 и/или съемном запоминающем устройстве 1010. [0082] The CPU 1002 executes instructions, including instructions stored in memory 1006, storage device 1008, and/or removable storage device 1010.
[0083] Интерфейс 1004 связи обычно представляет собой сетевой адаптер Ethernet, соединяющий шину 1014 с розеткой Ethernet. Разъем Ethernet подключен к сети. Гнездо Ethernet обычно подключается к сети через проводное соединение, но в качестве альтернативы соединение может быть беспроводным. Следует понимать, что можно использовать множество других средств связи (например, Bluetooth®, инфракрасный порт и т.д.). [0083] Communication interface 1004 is typically an Ethernet network adapter connecting bus 1014 to an Ethernet outlet. The Ethernet connector is connected to the network. The Ethernet jack is usually connected to the network via a wired connection, but the connection can alternatively be wireless. It should be understood that many other means of communication (eg, Bluetooth®, infrared, etc.) may be used.
[0084] Память 1006 хранит инструкции и другую информацию для использования ЦП 1002. Память является основной памятью компьютерного устройства 1000. Она обычно включает как оперативную память (RAM), так и постоянную память (ROM). [0085] Запоминающее устройство 1008 может быть выполнено в виде запоминающего устройства большой емкости для компьютерного устройства 1000. В различных реализациях запоминающее устройство представляет собой встроенное запоминающее устройство в виде жесткого диска, флэш-памяти или какого-либо другого аналогичного твердотельного запоминающего устройства или массива таких устройств. [0084] Memory 1006 stores instructions and other information for use by CPU 1002. Memory is the main memory of computing device 1000. It typically includes both random access memory (RAM) and read only memory (ROM). [0085] The storage device 1008 may be implemented as a mass storage device for the computing device 1000. In various implementations, the storage device is a built-in storage device in the form of a hard disk, flash memory, or some other similar mass storage device or an array of such devices.
[0086] Съемное запоминающее устройство 1010 может быть выполнено в виде вспомогательного запоминающего устройства для компьютерного устройства 1000. В различных реализациях съемное запоминающее устройство является носителем данных для съемного запоминающего устройства, такого как оптический диск, например, универсальный цифровой диск (DVD), переносной флэш-накопитель или какое-либо другое подобное портативное твердотельное запоминающее устройство (машиночитаемый носитель), или множество таких устройств. В других вариантах осуществления съемное запоминающее устройство является удаленным от компьютерного устройства 1000 и содержит сетевое запоминающее устройство или облачное запоминающее устройство. [0086] Removable storage device 1010 may be implemented as an auxiliary storage device for computing device 1000. In various implementations, removable storage device is a storage medium for a removable storage device, such as an optical disk, for example, a digital versatile disk (DVD), portable flash a drive or some other similar portable solid-state storage device (computer-readable medium), or a plurality of such devices. In other embodiments, the removable storage device is remote from the computing device 1000 and includes a network storage device or a cloud storage device.
[0087] Компьютерное устройство 1000 может содержать один или несколько графических процессоров (GPU), специализированных интегральных схем (ASIC) и/или одну или несколько программируемых вентильных матриц (FPGA). [0087] Computer device 1000 may include one or more graphics processing units (GPUs), application specific integrated circuits (ASICs), and/or one or more field programmable gate arrays (FPGAs).
[0088] Предоставляется компьютерный программный продукт, который включает в себя инструкции для выполнения аспектов способа (ов), описанного ниже. Компьютерный программный продукт хранится на разных этапах в любом из запоминающих устройств 1006, запоминающего устройства 1008 и съемного запоминающего устройства 1010. Хранение компьютерного программного продукта является долговременным, за исключением случаев, когда инструкции, включенные в компьютерный программный продукт, выполняется ЦП 1002, и в этом случае инструкции иногда временно сохраняются в ЦП или памяти. Следует также отметить, что съемное запоминающее устройство является съемным с компьютерного устройства 1000, так что компьютерный программный продукт время от времени хранится отдельно от компьютерного устройства. [0088] A computer program product is provided that includes instructions for performing aspects of the method(s) described below. The computer program product is stored at various stages in any of the storage devices 1006, the storage device 1008, and the removable storage device 1010. The storage of the computer program product is long term, except when the instructions included in the computer program product are executed by the CPU. 1002, in which case the instructions are sometimes temporarily stored in the CPU or memory. It should also be noted that the removable storage device is removable from the computing device 1000 such that the computer program product is stored separately from the computing device from time to time.
[0089] Обычно система 110 обучения с подкреплением обучается с использованием первого компьютерного устройства. После обучения системе 110 обучения с подкреплением на этом первом компьютерном устройстве ее можно использовать для управления системой (например, системой отопления, вентиляции и кондиционирования воздуха). Для этого обученная система ПО обучения с подкреплением и/или агент 200 могут выводиться и/или передаваться на другое компьютерное устройство. [0089] Typically, reinforcement learning system 110 is trained using a first computing device. Once reinforcement learning system 110 has been trained on this first computing device, it can be used to control a system (eg, a HVAC system). To this end, the trained reinforcement learning software system and/or agent 200 may be output and/or transferred to another computing device.
[0090] Обычно, когда система ПО обучения с подкреплением используется для управления системой, компьютерное устройство 1000 выполнено с возможностью приема входных данных либо через датчик, либо через вход 1004 интерфейса связи. Входные данные могут включать одно или несколько из следующих: условия окружающей среды, погода условия (например, прогноз погоды), желаемые условия (например, желаемая температура, вводимая пользователем) и/или конфигурация окружающей среды (например, указание того, закрыта или открыта каждая дверь в здании). [0090] Typically, when a system of reinforcement learning software is used to control the system, the computing device 1000 is configured to receive input either through a sensor or through a communication interface input 1004. The input data may include one or more of the following: environmental conditions, weather conditions (for example, a weather forecast), desired conditions (for example, a desired temperature entered by the user), and/or environmental configuration (for example, an indication of whether each building door).
[0091] На фиг. 4 показана примерная нейронная сеть 10, которая может быть частью системы 110 обучения с подкреплением. [0091] FIG. 4 shows an exemplary neural network 10 that may be part of a reinforcement learning system 110.
[0092] Нейронная сеть 10 на фиг. 4 представляет собой глубокую нейронную сеть, которая содержит входной слой 12, один или несколько скрытых слоев 14 и выходной слой 16. Следует принимать во внимание, что пример на фиг. 4 является лишь простым примером и на практике нейронная сеть может содержать дополнительные уровни. Кроме того, хотя эта примерная нейронная сеть является глубокой нейронной сетью, содержащей скрытый слой 14, в более общем плане нейронная сеть может просто содержать любой слой, который отображает входной слой на выходной слой. [0092] The neural network 10 in FIG. 4 is a deep neural network that includes an input layer 12, one or more hidden layers 14, and an output layer 16. It will be appreciated that the example in FIG. 4 is just a simple example and in practice the neural network may contain additional layers. Also, although this exemplary neural network is a deep neural network, containing a hidden layer 14, more generally, a neural network could simply contain any layer that maps an input layer to an output layer.
[0093] Нейронная сеть основана на параметрах, которые сопоставляют входы (например, наблюдения) с выходами (например, действия), чтобы достичь желаемого результата при заданном входе. Эти параметры обычно содержат веса. Чтобы определить параметры, обеспечивающие эффективную работу, нейронная сеть обучается с использованием обучающих наборов входных данных. В настоящей системе входы в нейронную сеть могут называться наблюдениями, при этом каждое наблюдение характеризует состояние окружающей среды (например, текущие условия). [0093] A neural network is based on parameters that map inputs (eg, observations) to outputs (eg, actions) to achieve a desired outcome for a given input. These parameters usually contain weights. To determine the parameters that ensure efficient operation, the neural network is trained using training sets of input data. In the present system, the inputs to the neural network may be referred to as observations, with each observation characterizing the state of the environment (eg, current conditions).
[0094] Обычно обучение нейронной сети состоит из нескольких этапов, на которых параметры нейронной сети обновляются после каждого этапа обучения на основе производительности нейронной сети на этом этапе. Например, если изменение параметров определено для улучшения производительности нейронной сети во время первого этапа обучения, аналогичное изменение может быть реализовано перед вторым этапом обучения. Обычно обучение нейронной сети включает ряд шагов, чтобы гарантировать, что параметры обеспечивают желаемый результат для диапазона входных наборов данных. [0094] Typically, neural network training consists of several stages, in which the parameters of the neural network are updated after each stage of training based on the performance of the neural network at that stage. For example, if a parameter change is defined to improve the performance of the neural network during the first training step, a similar change can be implemented before the second training step. Typically, training a neural network involves a series of steps to ensure that the parameters provide the desired output for a range of input datasets.
[0095] Согласно настоящему раскрытию нейронная сеть обучается на основе симулятора 400, где метрика, предоставляемая симулятором 400, позволяет обучать нейронную сеть быстрее, чем с помощью традиционных методов обучения. [0095] According to the present disclosure, the neural network is trained based on the simulator 400, where the metric provided by the simulator 400 allows the neural network to be trained faster than using traditional training methods.
[0096] Ссылаясь на фиг. 5, система НО обучения с подкреплением обычно содержит систему 20 «актор-критик» (Актор-Критик). [0096] Referring to FIG. 5, a reinforcement learning system HO typically comprises an actor-critic (Actor-Critic) system 20 .
[0097] Система 20 «актор-критик» содержит две отдельные нейронные сети, одна из которых является нейронной сетью-актором (нейронной сетью-исполнителем - Актор) 22, а другая - нейронной сетью- критиком 24 (Критик). [0097] The actor-critic system 20 comprises two separate neural networks, one of which is an actor neural network (by the performer neural network - Actor) 22, and the other by the critic neural network 24 (Critic).
[0098] Нейронная сеть-актор (Актор) 22 предназначена для приема входных данных из модуля 100 виртуального окружения и обеспечения их обработки в ответ на действия, которые может выполнить агент 200. Используя пример системы ОВКВ, нейронная сеть-актор может сначала получать температуру в качестве входных данных из окружающей среды, а затем определять, что агент 200 должен включить блок кондиционирования воздуха (следует иметь ввиду, что нейронная сеть- актор обычно сопоставляет входные кортежи с выходными кортежами без знания значения этих кортежей, поэтому нейронная сеть-актор не знает, что данный выход относится к включенному кондиционеру). [0098] The actor neural network (Actor) 22 is designed to receive input from the virtual environment module 100 and have it processed in response to actions that the agent 200 can perform. as input from the environment, and then determine that the agent 200 should turn on the air conditioning unit (note that the actor neural network usually maps input tuples to output tuples without knowing the meaning of these tuples, so the actor neural network does not know that this output refers to the switched on air conditioner).
[0099] Нейронная сеть-критик (Критик) 24предназначена для приема состояния, или входных данных, от модуля 100 виртуального окружения и действия от нейронной сети 22 (Актора), а также для определения значения, относящегося к этому действию и состоянию. Следовательно, нейронная сеть Критик определяет результат действия, предложенного нейронной сетью Актором. [0099] The critical neural network (Critic) 24 is designed to receive a state, or input, from the virtual environment module 100 and an action from the neural network 22 (Actor), and to determine a value related to this action and state. Therefore, the Critic neural network determines the result of the action proposed by the Actor neural network.
[0100] В практическом (базовом) примере системы 20 «актор- критик» симулятор 400 может указывать, что желательна температура 23° С. Модуль 100 виртуального окружения может затем предоставить значение состояния, которое указывает, что температура в первый раз составляет 25° С. Учитывая это состояние ввода, нейронная сеть-актор 22 может вернуть действие по включению излучателя тепла. Нейронная сеть-критик 24 определяет результат этого действия - например, это действие, скорее всего, приведет к повышению температуры (таким образом, температура во второй раз может составить 27° С). Затем нейронная сеть-критик 24 получает значения состояния среды в первый и второй раз и определяет, что температура повысилась, и что предложенное действие имело отрицательный эффект. Это передается обратно в нейронную сеть-актор 22 (Актор), и в ответ параметры нейронной сети-актора 22 (Актора) изменяются так, что в той же ситуации подобное действие не предлагается в будущем. Следовательно, параметры нейронной сети-актора 22 (Актора) изменяются на основе обратной связи от нейронной сети-критика 24. [0100] In a practical (basic) example of the actor-critic system 20, the simulator 400 may indicate that a temperature of 23°C is desired. The virtual environment module 100 may then provide a state value that indicates that the temperature is 25°C for the first time. Given this input state, neural network actor 22 may return an action to turn on the heat emitter. Critic neural network 24 determines the result of this action - for example, this action is likely to lead to an increase in temperature (thus, the temperature for the second time can be 27 ° C). Then, the critical neural network 24 receives the environment state values for the first and second time and determines that the temperature has risen and that the proposed action had a negative effect. It's being transmitted back to the neural network-actor 22 (Actor), and in response, the parameters of the neural network-actor 22 (Actor) are changed so that in the same situation, a similar action is not offered in the future. Therefore, the parameters of the neural network-actor 22 (Actor) are changed based on the feedback from the neural network-critic 24.
[0101] Информация, предоставленная нейронной сети-актору 22 (Актору) нейронной сетью 24-критика (Критика), содержит ошибку (error) временной разницы (TD). Эта ошибка TD учитывает течение времени так, чтобы можно было учесть, например, что включение радиатора может иметь эффект только после определенного периода ожидания). [0101] The information provided to the neural network actor 22 (Actor) by the neural network 24-criticism (Criticism) contains a temporal difference (TD) error. This TD error takes into account the passage of time so that it can be taken into account, for example, that turning on a radiator may only have an effect after a certain waiting period).
[0102] Обратная связь от нейронной сети-критика 24 может содержать указание ошибки между достигнутым условием и желаемым условием, при этом параметры нейронной сети 22-актора (Актор) обновляются, чтобы минимизировать эту ошибку. [0102] The feedback from the critic neural network 24 may include an indication of an error between the condition reached and the desired condition, with the parameters of the actor neural network 22 (Actor) being updated to minimize this error.
[0103] Нейронная сеть-критик 24 обеспечивает субъективную оценку преимуществ текущего состояния нейронной сети-актора 22 (Актора). Чтобы улучшить эту оценку, особенно на ранних этапах обучения, симулятор 400 может использоваться для определения соответствующих параметров для нейронной сети-критика 24. В частности, вознаграждение, используемое для обучения одной из нейронных сетей, может быть основано на разнице между целевой метрикой и метрикой, связанной с текущими параметрами этой нейронной сети. На практике действие, предлагаемое нейронной сетью-актором 22 (Актором), обычно связано с метрикой (например, использованием электроэнергии). Модификации, внесенные в параметры нейронной сети-актора 22 (и/или нейронной сети-критика 24) на этапе обучения, могут зависеть от разницы между этой метрикой и целевой метрикой, предоставленной симулятором 400. [0104] В этом отношении параметры нейронной сети-критика 24 и, таким образом, определенное значение могут зависеть от условия и/или метрики, полученной от симулятора 400. В традиционной системе нейронная сеть-критик 24 может идентифицировать, что предложенный набор действий нейронной сети-актора 22 (Актора) относится к метрике затрат на электроэнергию в 100 кВт/ч, однако без контекста определенной ситуации нейронная сеть-критик 24 не может определить, является ли эта цена хорошей или плохой и нейронной сети-критику 24 обычно необходимо узнать, является ли определенный результат хорошим или плохим, в ходе многочисленных шагов обучения. Следовательно, на ранних этапах обучения нейронная сеть-критик 24 может только обеспечивать ограниченную обратную связь с нейронной сетью-актором 22 (Актором), а параметры нейронной сети-актора 22 (Актора) можно изменять только медленно. Предоставляя метрику из симулятора 400, нейронная сеть-критик может учиться намного быстрее. Например, если симулятор 400 обеспечил достижение показателя стоимости электроэнергии 20 кВт/ч для той же ситуации, нейронная сеть- критик 24 может быстро определить, что текущие параметры нейронной сети-актора 22 (Актора), которые привели к метрике стоимости электроэнергии в 100 кВт/ч, существенно отличаются и не являются оптимальными. [0103] Neural network-critic 24 provides a subjective assessment of the benefits of the current state of the neural network-actor 22 (Actor). To improve this score, especially in the early stages of training, the simulator 400 can be used to determine the appropriate parameters for the critic neural network 24. In particular, the reward used to train one of the neural networks can be based on the difference between the target metric and the metric, associated with the current parameters of this neural network. In practice, the action offered by the neural network actor 22 (Actor) is usually associated with a metric (eg, electricity usage). The modifications made to the parameters of the actor neural network 22 (and/or the critic neural network 24) during the training phase may depend on the difference between this metric and the target metric provided by the simulator 400. [0104] In this regard, the parameters of the neural network-critic 24 and thus the determined value may depend on the condition and/or metric received from the simulator 400. In a conventional system, the neural network-critic 24 may identify that the proposed set of actions of the neural network -actor 22 (Actor) refers to an electricity cost metric of 100 kWh, however, without the context of a certain situation, the critical neural network 24 cannot determine whether this price is good or bad, and the critical neural network 24 usually needs to know whether it is whether a certain outcome is good or bad, through numerous learning steps. Therefore, in the early stages of training, the critic neural network 24 can only provide limited feedback to the actor neural network 22 (Actor), and the parameters of the actor neural network 22 (Actor) can only be changed slowly. By providing a metric from simulator 400, the critical neural network can learn much faster. For example, if the simulator 400 achieved an electricity cost metric of 20 kW/h for the same situation, the critic neural network 24 can quickly determine that the current parameters of the actor neural network 22 (Actor) that resulted in the electricity cost metric of 100 kWh/ h, differ significantly and are not optimal.
[0105] Таким образом, путем обучения нейронной сети-критика 24 и/или нейронной сети-актора 22 (Актора) в зависимости от условия и/или метрики, предоставляемой симулятором 400, время обучения системы 110 обучения с подкреплением может быть сокращено. [0105] Thus, by training the critic neural network 24 and/or the actor neural network 22 (Actor) depending on the condition and/or metric provided by the simulator 400, the training time of the reinforcement learning system 110 can be reduced.
[0106] Симулятор 400 может использоваться для быстрого обучения нейронной сети-актора 22 (Актора) и нейронной сети-критика 24, чтобы предоставить агента 200, который обеспечивает достижение производительности, по меньшей мере, аналогичной с симулятором 400. Затем нейронная сеть-актор 22 (Актор) и нейронная сеть-критик 24 могут продолжать обучение, так что система обучения с подкреплением начинает превосходить симулятор 400. Использование симулятора 400 сокращает общее время обучения, необходимое для системы ПО обучения с подкреплением. [0106] The simulator 400 can be used to quickly train the actor neural network 22 (Actor) and the critic neural network 24 to provide an agent 200 that achieves performance at least similar to the simulator 400. Then the neural network actor 22 (Actor) and neural network-critic 24 can continue training so that the reinforcement learning system begins to outperform simulator 400. Using simulator 400 reduces the total training time required for the reinforcement learning software system.
[0107] Обучение системы актор-критик может включать: а. получение мини пакетов кортежей опыта из виртуального окружения. Каждый кортеж опыта содержит обучающее наблюдение, характеризующее обучающее состояние виртуального окружения, обучающее действие из пространства возможных действий для агента 200, обучающее вознаграждение, связанное с агентом 200 за выполнение обучающего действия, и следующее обучающее наблюдение, характеризующее следующее обучающее состояние виртуального окружения; б. обновление текущих значений параметров нейронной сети-актора 22 с помощью полученных мини пакетов кортежей опыта. Для каждого кортежа опыта в мини-пакете новое обновление обычно содержит следующие этапы: в. обработку обучающего наблюдения и обучающего действия в кортеже опыта с использованием нейронной сети-критика 24 для определения выходных данных нейронной сети для кортежа опыта в соответствии с текущими значениями параметров нейронной сети- критика 24 и обновление текущих значений параметров нейронной сети- актора с помощью нейронной сети-критика; [0107] Actor-critic system training may include: a. receiving mini-packages of experience tuples from the virtual environment. Each experience tuple contains a learning observation characterizing the learning state of the virtual environment, a learning action from the possible action space for agent 200, a learning reward associated with agent 200 for performing the learning action, and a next learning observation characterizing the next learning state of the virtual environment; b. updating the current values of the parameters of the neural network-actor 22 using the received mini-packets of experience tuples. For each experience tuple in the mini-batch, a new update typically contains the following steps: c. processing the learning observation and learning action in the experience tuple using neural network-critic 24 to determine the output of the neural network for the experience tuple according to the current values of the parameters of the neural network-critic 24 and updating the current values of the parameters of the neural network-actor using the neural network- criticism;
Одновременно с этим создается новый кортеж опыта. Этот этап обычно состоит из следующих шагов: а. получение нового обучающего наблюдения; б. обработка этого нового обучающего наблюдения с использованием нейронной сети-актора 22 (Актора) для выбора нового обучающего действия, которое должно быть выполнено агентом 200, в соответствии с текущими значениями параметров нейронной сети-актора 22; в. получение нового вознаграждения за обучение в ответ на выполнение агентом 200 этого нового действия обучения; г. получение нового следующего обучающего (тренировочного) наблюдения; д. создание нового кортежа опыта, который включает, как описано выше, новое обучающее наблюдение, новое обучающее действие, новую обучающую награду и новое следующее обучающее наблюдение. At the same time, a new experience tuple is created. This stage usually consists of the following steps: a. getting a new training observation; b. processing this new learning observation using the neural network actor 22 (Actor) to select a new learning action to be performed by the agent 200, in according to the current values of the parameters of the neural network-actor 22; V. receiving a new learning reward in response to agent 200 performing this new learning action; d. obtaining a new next training (training) observation; e. creating a new experience tuple that includes, as described above, a new learning observation, a new learning action, a new learning reward, and a new next learning observation.
[0108] Примером существующей системы, в которой используется схема «актор-критик», является система асинхронного актора-критика с преимуществом (Asynchronous Advantage Actor-Critic (АЗС) https://www.machineleamingmastery.ru/the-idea-behind-actor-critics-and- how-a2c-and-a3c-improve-them-6dd7dfd0acb8/). Раскрытые здесь способы могут быть реализованы с использованием такой системы. Равным образом, способы, раскрытые в данном документе, могут быть в равной степени реализованы с использованием рекуррентной сети с плотностью сети (Mixture-Density Recurrent Network (MDN-RNN). [0108] An example of an existing system that uses the actor-critic scheme is the Asynchronous Advantage Actor-Critic (AZS) https://www.machineleamingmastery.ru/the-idea-behind- actor-critics-and-how-a2c-and-a3c-improve-them-6dd7dfd0acb8/). The methods disclosed herein may be implemented using such a system. Likewise, the methods disclosed herein can equally be implemented using a Mixture-Density Recurrent Network (MDN-RNN).
[0109] В некоторых вариантах осуществления система 110 обучения с подкреплением не содержит систему «актор-критик». Система 110 обучения с подкреплением по-прежнему будет включать как минимум одну нейронную сеть. В таких системах симулятор 400 обычно обеспечивает обратную связь для той модели вознаграждения, которая используется для оценки производительности нейронной сети. [0109] In some embodiments, reinforcement learning system 110 does not include an actor-critic system. Reinforcement learning system 110 will still include at least one neural network. In such systems, simulator 400 typically provides feedback on the reward model that is used to evaluate the performance of the neural network.
[ОНО] На фиг. 6 более подробно показан вариант осуществления системы 110 обучения с подкреплением. [IT] In FIG. 6 shows an embodiment of reinforcement learning system 110 in more detail.
[0111] В этом варианте осуществления система 110 обучения с подкреплением предназначена для выбора действий (выходов) с использованием модуля глобальной нейронной сети виртуальной среды 300. Глобальная нейронная сеть - это нейронная сеть, которая настроена для приема набора входных данных и обработки входных данных для связывания эти входные данные с действием (например, если температура повышается, включить кондиционер). Обычно это включает в себя выбор глобальной нейронной сетью точки в непрерывном пространстве действий, которая определяет действие, которое должно быть выполнено агентом 200 в ответ на ввод. [0111] In this embodiment, the reinforcement learning system 110 is designed to select actions (outputs) using the global neural network module of the virtual environment 300. The global neural network is a neural network that is configured to accept a set of inputs and process the input to associate those inputs with an action (for example, if the temperature rises, turn on the air conditioner). Typically, this includes selecting a point in the continuous action space by the global neural network that determines the action to be performed by the agent 200 in response to the input.
[0112] Эта глобальная нейронная сеть 300 обычно обучается посредством обучения с подкреплением. Точно так же глобальная нейронная сеть может обучаться посредством контролируемого или неконтролируемого обучения (так что раскрытие системы 110 обучения с подкреплением в более общем смысле является раскрытием системы обучения, которая содержит по меньшей мере одну нейронную сеть). [0112] This global neural network 300 is typically trained through reinforcement learning. Similarly, a global neural network can be trained via supervised or unsupervised learning (so that the disclosure of reinforcement learning system 110 is more generally the disclosure of a learning system that contains at least one neural network).
[0113] Глобальная нейронная сеть 300 обычно включает в себя глобальную нейронную сеть-актор 301, которая обеспечивает функцию сопоставления входных данных с выходными (например, действиями), и глобальную нейронную сеть-критик 302, которая предназначена для выполнения действий, и входные данные (например, состояния) в качестве входных данных и для обработки действий и входных данных для создания выходных данных нейронной сети. Во время обучения система ПО обучения с подкреплением управляет параметрами глобальной нейронной сети-критика и глобальной нейронной сети- актора. [0113] The global neural network 300 typically includes a global actor neural network 301, which provides a function for matching inputs to outputs (e.g., actions), and a global critic neural network 302, which is designed to perform actions, and inputs ( states) as input and to process actions and inputs to create neural network outputs. During training, the reinforcement learning software system manages the parameters of the critic global neural network and the actor global neural network.
[0114] Раскрытая здесь система обучения с подкреплением имеет несколько отличий от современных архитектурных решений. [0114] The reinforcement learning system disclosed here has several differences from current architectural solutions.
[0115] Для обучения глобальной нейронной сети-актора 301 и глобальной нейронной сети-критика 302 система обучения с подкреплением содержит по меньшей мере одну дочернюю нейронную сеть 310-1, 310-2, 310-N; каждая дочерняя нейронная сеть содержит дочернюю нейронную сеть-актор 311-1, 311-2, 311 -N и дочернюю нейронную сеть-критик 312-1, 312-2, 312-N. Эти дочерние нейронные сети взаимодействуют с модулем 100 виртуального окружения одновременно (как показано на фиг. 6). Это достигается путем предоставления соответствующих копий виртуального окружения 101-1, 101-2, 101 -N с отдельной копией виртуального окружения, создаваемой и предоставляемой для каждой из дочерних нейронных сетей. [0115] For training global actor neural network 301 and global critic neural network 302, the reinforcement learning system comprises at least one child neural network 310-1, 310-2, 310-N; each child neural network contains a child neural network-actor 311-1, 311-2, 311-N and a child neural network-critic 312-1, 312-2, 312-N. These daughter neurons the networks interact with the virtual environment module 100 at the same time (as shown in FIG. 6). This is achieved by providing respective copies of the virtual environment 101-1, 101-2, 101-N with a separate copy of the virtual environment created and provided for each of the child neural networks.
[0116] Следует понимать, что может использоваться любое количество дочерних нейронных сетей 310, где используемое количество может зависеть от реализации. [0116] It should be understood that any number of child neural networks 310 may be used, where the number used may be implementation dependent.
[0117] Каждая копия виртуального окружения имеет разные свойства, которые могут быть установлены с помощью разных условий инициализации. Обычно эти свойства относятся к различным конфигурациям целевого реального физического окружения (например, различным конфигурациям здания). Например, каждая копия виртуального окружения может относиться к разной плотности заселенности или разной конфигурации объектов в реальном физическом окружении (например, разные наборы дверей, которые открываются или закрываются). Копии виртуального окружения могут быть инициализированы на основе ряда параметров, каждый из которых может быть выбран случайным образом или выбран пользователем. Эти параметры обычно включают одно или несколько из следующего: начальные условия окружающей среды (например, начальной температуры или влажности); исходное состояние вне окружающей среды; первоначальная занятость и/или заселенность; и характеристика устройств (например, тип используемой охлаждающей жидкости). [0117] Each copy of the virtual environment has different properties that can be set using different initialization conditions. Typically, these properties refer to different configurations of the target real physical environment (eg, different building configurations). For example, each copy of the virtual environment may refer to a different population density or a different configuration of objects in the real physical environment (eg, different sets of doors that open or close). Copies of the virtual environment may be initialized based on a number of parameters, each of which may be randomly selected or selected by the user. These parameters typically include one or more of the following: initial environmental conditions (eg initial temperature or humidity); initial state outside the environment; initial employment and/or occupancy; and characteristics of the devices (for example, the type of coolant used).
[0118] Следовательно, каждая дочерняя нейронная сеть 310 обучается на основе различного окружения с разными свойствами. Таким образом, дочерние нейронные сети могут быть структурно идентичными и/или могут быть инициализированы с одинаковыми параметрами, причем эти параметры будут отличаться из-за взаимодействия дочерних нейронных сетей с различными версиями окружения. Точно так же дочерние нейронные сети могут быть инициализированы с разными параметрами. Также может быть предоставлено множество похожих копий виртуального окружения, где эти похожие копии связаны с по- разному инициализированными дочерними нейронными сетями. [0118] Therefore, each child neural network 310 is trained based on a different environment with different properties. Thus, child neural networks may be structurally identical and/or may be initialized with the same parameters, and these parameters will differ due to the interaction of child neural networks with different versions of the environment. Similar child neural networks can be initialized with different parameters. A plurality of similar copies of the virtual environment can also be provided, where these similar copies are associated with differently initialized child neural networks.
[0119] Как правило, симулятор 400 выполнен с возможностью предоставления метрики и/или набора целевых условий для каждой копии виртуального окружения 101. Например, моделирование базовых показателей для многолюдного окружения может привести к более высокому потреблению энергии (и другому показателю использования энергии), чем в малолюдном окружении. [0119] Typically, simulator 400 is configured to provide a metric and/or set of target conditions for each instance of virtual environment 101. For example, modeling a baseline for a crowded environment may result in higher energy consumption (and other measure of energy usage) than in a sparse environment.
[0120] Для каждого входного кортежа на каждом этапе система ПО обучения с подкреплением выполнена с возможностью использования дочерних нейронных сетей-критиков 312 для определения обновлений текущих параметров дочерних нейронных сетей-акторов 311 и весовых значений дочерних нейронных сетей-критиков. После каждого шага параметры дочерних нейронных сетей-акторов 311 и дочерних нейронных сетей-критиков 312 изменяются в зависимости от определенных обновлений. [0120] For each input tuple at each stage, the reinforcement learning software system is configured to use the child critic neural networks 312 to determine updates to the child actor neural networks 311 current parameters and child critic neural network weights. After each step, the parameters of child actor neural networks 311 and child critic neural networks 312 change depending on certain updates.
[0121] Дочерние нейронные сети-акторы 311 и дочерние нейронные сети-критики 312 отправляют в соответствии с процессом 35, изображенным на фиг. 6 и 7, результаты своей работы (например, градиенты, которые обеспечивают указание производительности этих дочерних нейронных сетей 310) в глобальную нейронную сеть 300. Затем глобальная нейронная сеть накапливает эти результаты обучения и использует их для изменения параметров глобальной нейронной сети- актора 301 и глобальной нейронной сети-критика 302. В частности, глобальная нейронная сеть 300 способна идентифицировать параметры и/или модификации параметров, которые приводят к улучшениям для различных дочерних нейронных сетей 310, так что параметры глобальной нейронной сети 300 могут быть обновлены соответствующим образом. [0122] Структура каждой нейронной сети обычно следующая: Глобальная нейронная сеть 300 обучается дочерними нейронными сетями 310. В частности, дочерние нейронные сети выполнены с возможностью периодической передачи градиентов и/или параметров в глобальную нейронную сеть - в соответствии с процессом 35. Параметры глобальной нейронной сети определяются на основе градиентов и/или параметров, полученных от дочерних нейронных сетей. [0121] Child actor neural networks 311 and child critic neural networks 312 are sent in accordance with process 35 depicted in FIG. 6 and 7, the results of their work (for example, gradients that provide an indication of the performance of these child neural networks 310) to the global neural network 300. The global neural network then accumulates these training results and uses them to change the parameters of the global actor neural network 301 and the global critic neural network 302. In particular, global neural network 300 is able to identify parameters and/or parameter modifications that result in improvements for various child neural networks 310 so that global neural network 300 parameters can be updated accordingly. [0122] The structure of each neural network is typically as follows: The global neural network 300 is trained by child neural networks 310. networks are defined based on gradients and/or parameters received from child neural networks.
[0123] Обычно параметры глобальной нейронной сети 300 определяются в зависимости от среднего значения градиентов, предоставляемых дочерними нейронными сетями 310. Эти градиенты могут применяться к существующим параметрам глобальной нейронной сети (и, более конкретно, к существующим параметрам глобальной нейронной сети-актора 301 и глобальной нейронной сети-критика 302) для получения обновленных параметров. [0123] Typically, the parameters of the global neural network 300 are determined depending on the average value of the gradients provided by the child neural networks 310. These gradients can be applied to the existing parameters of the global neural network (and, more specifically, to the existing parameters of the global neural network-actor 301 and the global neural network-critic 302) to get updated parameters.
[0124] В свою очередь, дочерние нейронные сети 310 выполнены с возможностью периодически принимать обновления параметров от глобальной нейронной сети 300, когда выполняется условие (например, когда было выполнено определенное количество шагов обучения) и/или при выполнении заданного набора действий. Обычно глобальная нейронная сеть предназначена для периодической отправки копий своих параметров дочерним нейронным сетям, как показано на фиг. 7, где эти параметры могут заменять существующие параметры каждой дочерней нейронной сети. [0124] In turn, the child neural networks 310 are configured to periodically receive parameter updates from the global neural network 300 when a condition is met (eg, when a certain number of training steps have been completed) and/or when a given set of actions has been performed. Typically, a global neural network is designed to periodically send copies of its parameters to child neural networks, as shown in FIG. 7, where these parameters can replace the existing parameters of each child neural network.
[0125] Дочерние нейронные сети 310 обучаются на основе разных копий виртуального окружения 101, имеющих разные свойства, поэтому они предназначены для разных ситуаций. Например, первая дочерняя нейронная сеть 310-1 может обеспечивать оптимальную работу, когда окружение переполнено (многолюдная заселенность помещения и/или помещений), вторая дочерняя нейронная сеть 310-2 может обеспечивать оптимальную работу, когда окружение малолюдно (малолюдная заселенность помещения и/или помещений). [0125] Child neural networks 310 are trained based on different copies of the virtual environment 101 having different properties, so they are designed for different situations. For example, the first child neural network 310-1 may provide optimal performance when the environment is crowded (crowded room and/or rooms), the second child neural network 310-2 may provide optimal performance when the environment is sparsely populated (sparsely occupied premises and/or premises).
[0126] Периодически передавая свои градиенты и/или параметры в глобальную нейронную сеть 300, дочерние нейронные сети 310 могут обучать глобальную нейронную сеть для обеспечения хорошей производительности в ряде типов окружений (например, для окружений с рядом различных свойств). Периодически параметры глобальной нейронной сети передаются дочерним нейронным сетям, следовательно, дочерние нейронные сети косвенно передают свои параметры. Например, первая дочерняя нейронная сеть 310-1 может быть обучена на основе первой копии виртуального окружения 101-1, которая характерна для переполненного окружения, а вторая дочерняя нейронная сеть 310-2 может быть обучена на основе второй копии виртуального окружения 101- 2, которая характерна для малолюдного окружения. Первая дочерняя нейронная сеть может быть обучена косвенно для использования в малолюдном окружении путем приема параметров от глобальной нейронной сети, которая ранее получила градиенты и/или параметры от второй дочерней нейронной сети. В конце концов, нейронные сети сойдутся (выполнится сходимость нейронных сетей), чтобы предоставить серию похожих и/или идентичных дочерних нейронных сетей (и глобальную нейронную сеть, которая такая же), которые обеспечивают оптимальную работу для широкого диапазона окружений (малолюдного окружения, многолюдного окружения и т.д.). [0126] By periodically passing their gradients and/or parameters to the global neural network 300, child neural networks 310 can train the global neural network to provide good performance in a number of types of environments (eg, environments with a number of different properties). Periodically, the parameters of the global neural network are transmitted to the child neural networks, therefore, the child neural networks indirectly transmit their parameters. For example, the first child neural network 310-1 can be trained based on the first copy of the virtual environment 101-1, which is characteristic of a crowded environment, and the second child neural network 310-2 can be trained based on the second copy of the virtual environment 101-2, which characteristic of a sparsely populated environment. The first child neural network can be trained indirectly for use in a sparsely populated environment by receiving parameters from a global neural network that has previously received gradients and/or parameters from the second child neural network. Eventually, neural networks converge (neural networks converge) to provide a series of similar and/or identical child neural networks (and a global neural network that is the same) that provide optimal performance for a wide range of environments (sparsely populated environment, crowded environment etc.).
[0127] После того, как произошла упомянутая сходимость, система 110 обучения с подкреплением может использоваться для обеспечения подходящих выходных данных при заданном наборе входных данных. Эта сходимость (или почти сходимость) может быть указана, например, путем вывода уведомления пользователю или путем предоставления вывода, основанного на вводе в систему 110 обучения с подкреплением. [0128] Периодичность передачи данных (например, передача градиентов/параметров из дочерних нейронных сетей 310 в глобальную нейронную сеть 300 и передача параметров из глобальной нейронной сети в дочерние нейронные сети) может быть основана на нескольких этапах, пользовательском вводе или скорости сходимости. [0127] Once said convergence has occurred, reinforcement learning system 110 can be used to provide suitable output given a given set of inputs. This convergence (or near convergence) can be indicated, for example, by displaying a notification to the user, or by providing output based on input to reinforcement learning system 110. [0128] The frequency of data transmission (e.g., transmission of gradients/parameters from child neural networks 310 to global neural network 300 and transmission of parameters from global neural network to child neural networks) can be based on multiple steps, user input, or rate of convergence.
[0129] Если эта периодичность слишком мала, например, если параметры передаются слишком часто, дочерние нейронные сети не могут достаточно расходиться, чтобы обеспечить оптимальную работу своей копии виртуального окружения. Если периодичность слишком высока, время, необходимое для обучения системы обучения с подкреплением, может стать чрезмерным. Следовательно, в различных вариантах осуществления глобальная нейронная сеть предназначена для предоставления параметров дочерним нейронным сетям не чаще одного раза каждые 20 шагов, не более одного раза каждые 50 шагов и/или не более одного раза каждые 100 шагов. Точно так же в различных вариантах осуществления глобальная нейронная сеть предназначена для предоставления параметров дочерним нейронным сетям не менее одного раза каждые 200 шагов, не более одного раза каждые 100 шагов и/или не менее одного раза каждые 50 шагов. [0129] If this periodicity is too small, for example, if the parameters are passed too often, the child neural networks cannot diverge enough to ensure optimal performance of their copy of the virtual environment. If the frequency is too high, the time required to train the reinforcement learning system can become excessive. Therefore, in various embodiments, the global neural network is designed to provide parameters to child neural networks no more than once every 20 steps, no more than once every 50 steps, and/or no more than once every 100 steps. Similarly, in various embodiments, the global neural network is designed to provide parameters to child neural networks at least once every 200 steps, at most once every 100 steps, and/or at least once every 50 steps.
[0130] Обычно одна или несколько из следующих функций реализуются системой 110 обучения с подкреплением, как показано на фиг. 8: [0130] Typically, one or more of the following functions are implemented by reinforcement learning system 110 as shown in FIG. 8:
1) На каждом шаге обучения для каждой копии виртуального окружения 101 и агента 200 каждая дочерняя нейронная сеть-актор 311 получает набор кортежей из соответствующей копии виртуального окружения 101 - в соответствии с процессом 31. Каждый кортеж содержит данные, характеризующие состояние окружения, действие из заданной области действий, выполняемое агентом 200 в ответ на данные, вознаграждение за действие, предпринятое агентом 200, и следующий набор входных данных, характеризующий следующее обучаемое состояние окружения. 1) At each training step, for each copy of the virtual environment 101 and agent 200, each child neural network-actor 311 receives a set of tuples from the corresponding copy of the virtual environment 101 - in accordance with the process 31. Each tuple contains data characterizing the state of the environment, an action from a given area of action performed by agent 200 in response to the data, the reward for the action taken by agent 200, and the next a set of input data that characterizes the next learning state of the environment.
2) Каждая дочерняя нейронная сеть-актор 311 затем обновляет 34 текущие значения своих параметров, используя данные, полученные в результате следующей последовательности действий: а) Каждый ввод данных и действие в результирующем кортеже обрабатываются, в соответствии с процессом 32, с использованием каждой дочерней нейронной сети-критика 312 для определения выходных данных соответствующей дочерней нейронной сети 311-актора для кортежа в соответствии с текущими параметрами дочерней нейронной сети 311-актора и дочерней нейронной сети-критика 312. Процесс 32 определяет прогнозируемый результат или ожидаемое вознаграждение (например, ожидаемую производительность) дочерней нейронной сети 310 для принятого кортежа из вознаграждения за обучение и следующего набора входных данных обучения в том же кортеже. Текущие значения параметров дочерней нейронной сети-актора 311 и дочерней нейронной сети-критика 312 затем обновляются, в соответствии с процессом 33, с использованием оценки преимущества прогнозируемых выходных данных дочерней нейронной сети 310 и вознаграждения из окружающей среды, а также на основе условия(ий) и метрике(ах), полученных из симулятора 400. Например, если симулятор 400 указывает, что дочерняя нейронная сеть работает намного ниже максимально известной возможной производительности, параметры могут быть существенно изменены; если симулятор 400 указывает, что дочерняя нейронная сеть работает близко к максимально известной возможной производительности, параметры могут быть изменены только на небольшую величину. Вознаграждение обычно основано на разнице между выводом дочерней нейронной сети-актора и показателем, предоставленным симулятором; b) обновление, в соответствии с процессом 33, текущих параметров каждой дочерней нейронной сети-актора 311 с использованием соответствующей дочерней нейронной сети-критика 312 и, например, функции потери энтропии. 2) Each child actor neural network 311 then updates the 34 current values of its parameters using the data obtained from the following sequence of actions: a) Each input and action in the resulting tuple is processed, in accordance with process 32, using each child neural network critic network 312 to determine the output of the corresponding child actor neural network 311 for the tuple according to the current parameters of the child actor neural network 311 and the child critic network 312. Process 32 determines a predicted outcome or expected reward (e.g., expected performance) child neural network 310 for the received tuple of the training reward and the next set of training inputs in the same tuple. The current parameter values of child actor neural network 311 and child critic neural network 312 are then updated, according to process 33, using an estimate of the benefit of the predicted outputs of child neural network 310 and reward from the environment, and based on the condition(s) and the metric(s) obtained from the simulator 400. For example, if the simulator 400 indicates that the child neural network is performing well below the maximum known possible performance, the parameters can be substantially changed; if the simulator 400 indicates that the child neural network is operating close to the maximum known possible performance, the parameters may only be changed by a small amount. The reward is usually based on the difference between the output of the actor's child neural network and the metric provided by the simulator; b) updating, in accordance with process 33, the current parameters of each child actor neural network 311 using the corresponding child critic neural network 312 and, for example, the entropy loss function.
3) Периодически, после того, как заданное условие выполнено (например, после того, как определенное количество действий было обработано дочерней нейронной сетью 310) или, где это применимо, данный обучающий шаг был завершен, текущие значения параметров глобальной нейронной сети-актора 301 и глобальной нейронной сети- критик 302 обновляются, в соответствии с процессом 35, на основе градиентов и/или параметров, отправленных дочерними нейронными сетями. Каждая дочерняя нейронная сеть может отправлять эти градиенты/параметры одновременно, или время передачи градиентов/параметров может отличаться для различных дочерних нейронных сетей. 3) Periodically, after a predetermined condition is met (for example, after a certain number of actions have been processed by the child neural network 310) or, where applicable, a given training step has been completed, the current values of the parameters of the global actor neural network 301 and global critic neural network 302 are updated, in accordance with process 35, based on gradients and/or parameters sent by child neural networks. Each child neural network may send these gradients/parameters at the same time, or the timing of the gradients/parameters may differ for different child neural networks.
4) Периодически, например, в соответствии с заранее определенным условием, параметры дочерней нейронной сети-актора 311 и дочерней нейронной сети-критика 312 обновляются, в соответствии с процессом 36, с использованием параметров глобальной нейронной сети 300. 4) Periodically, for example, in accordance with a predetermined condition, the parameters of the child actor neural network 311 and the child critic neural network 312 are updated, in accordance with the process 36, using the parameters of the global neural network 300.
[0131] Обновление в процессе 36 текущих параметров каждой дочерней нейронной сети-критика 312 выполняется с использованием ошибки между вознаграждением, выданным из окружения за выполнение выбранного действия, и выходными данными дочерней нейронной сети- актора 311, сгенерированной дочерней нейронной сетью-критиком 312 для оценки ожидаемого вознаграждения (например, разница между желаемым и достигнутым значением). Необязательно, ошибка может использоваться между выходными данными дочерней нейронной сети- актора 311 для текущего наблюдения и результатами симулятора 400. Как правило, система может определять обновление для текущих параметров, уменьшая ошибку, используя традиционное машинное обучение и методы оптимизации, такие как выполнение итерации градиентного спуска с обратным распространением. [0131] An in-process update 36 of the current parameters of each critic child neural network 312 is performed using the error between the reward given from the environment for performing the selected action and the child actor neural network 311 output generated by the critic child neural network 312 for evaluation expected reward (for example, the difference between the desired and achieved value). Optionally, the error may be used between the output of the child neural network actor 311 for the current observation and the results of the simulator 400. Typically, the system may determine an update to the current parameters, reducing the error using conventional machine learning and optimization techniques such as performing backpropagation gradient descent iteration.
[0132] Чтобы обновить параметры дочерней нейронной сети-актора 311, система 110 обучения с подкреплением, обработав входные данные с помощью дочерней нейронной сети-актора 311, выбирает следующее действие и обновляет эти параметры, используя одно или несколько из следующего: [0132] To update the parameters of the child neural network actor 311, the reinforcement learning system 110, having processed the input data using the child neural network actor 311, selects the next action and updates these parameters using one or more of the following:
• градиент, обеспечиваемый дочерней нейронной сетью-критиком 312 (градиент 1) по отношению к следующему действию, предпринимаемому при обработке связанных входных и выходных данных в соответствии с текущими параметрами дочерней нейронной сети-критика (например, улучшение и/или уменьшение производительности, которую определяет дочерняя нейронная сеть- критик, будет иметь место, если действие будет предложено на основе текущих параметров дочерней нейронной сети-актора); • the gradient provided by the critic child network 312 (gradient 1) with respect to the next action taken in processing the associated inputs and outputs in accordance with the current parameters of the critic child neural network (eg, improving and/or reducing performance, which is determined by child neural network-critic will take place if the action is proposed based on the current parameters of the child neural network-actor);
• градиент, обеспечиваемый дочерней нейронной сетью-актором 311 (градиент 2) по отношению к параметрам дочерней нейронной сети- актора 311, взятым во время обучающего наблюдения, и в соответствии с текущими значениями параметров дочерней нейронной сети-актора 311. • the gradient provided by the child actor network 311 (gradient 2) with respect to the parameters of the child actor network 311 taken during the training observation and in accordance with the current values of the parameters of the child actor neural network 311.
[0133] Фактически, если изменение параметров дочерней нейронной сети-актора 311 оказало положительное влияние на дочернюю нейронную сеть (например, если это изменение приводит к достижению тех же условий при более низких затратах на электроэнергию), то аналогичное изменение параметров может быть реализовано снова. Кроме того, если предыдущее изменение имело большой положительный эффект, то может быть реализовано большое аналогичное изменение. С другой стороны, если изменение параметров дочерней нейронной сети- актора 311 оказало отрицательный эффект, то может быть реализовано альтернативное изменение. [0134] Система ПО обучения с подкреплением может вычислять градиент 1 и градиент 2 посредством обратного распространения соответствующих градиентов через соответствующие нейронные сети. [0133] In fact, if changing the parameters of the child neural network-actor 311 had a positive effect on the child neural network (for example, if this change leads to the achievement of the same conditions at lower energy costs), then a similar change in parameters can be implemented again. In addition, if a previous change had a large positive effect, then a large similar change can be implemented. On the other hand, if changing the parameters of the child neural network actor 311 had a negative effect, then an alternative change can be implemented. [0134] The reinforcement learning software system may compute gradient 1 and gradient 2 by backpropagating the respective gradients through the respective neural networks.
[0135] В общем, система ПО обучения с подкреплением выполняет этот процесс для каждого входного кортежа после каждого обновления параметров дочерней нейронной сети-критика 312 или дочерней нейронной сети-актора 311 (например, после каждого шага обучения). Как только обновления для каждого кортежа вычислены, система ПО обучения с подкреплением обновляет текущие параметры каждой дочерней нейронной сети-актора 311 и каждой дочерней нейронной сети- критика 312, используя обновления кортежа. Таким образом, система 110 обучения с подкреплением итеративно улучшает параметры каждой из нейронных сетей. [0135] In general, the reinforcement learning software system performs this process for each input tuple after each update of the parameters of the child critic 312 or the child actor 311 (eg, after each training step). Once the updates for each tuple have been calculated, the reinforcement learning software system updates the current parameters of each child actor neural network 311 and each child critic neural network 312 using the tuple updates. Thus, reinforcement learning system 110 iteratively improves the parameters of each of the neural networks.
[0136] Периодически, используя градиенты дочерних нейронных сетей-акторов 311 и дочерних нейронных сетей-критиков 312, система 110 обучения с подкреплением обновляет, в соответствии с процессом 36, параметры глобальной нейронной сети-актора 301 и глобальной нейронной сети-критика 302. [0136] Periodically, using the gradients of child actor neural networks 311 and child critic neural networks 312, reinforcement learning system 110 updates, in accordance with process 36, the parameters of global actor neural network 301 and global critic neural network 302.
[0137] Обратная синхронизация параметров из глобальной нейронной сети 300 происходит с использованием условия, применимого к дочерним нейронным сетям 310 (например, это происходит, когда дочерними нейронными сетями было выполнено определенное количество действий), и обычно происходит путем копирования параметров глобальной нейронной сети 300 после этапа обновления параметров глобальной нейронной сети. [0137] Desynchronization of the parameters from the global neural network 300 occurs using the condition applicable to the child neural networks 310 (for example, this occurs when a certain number of actions have been performed by the child neural networks), and usually occurs by copying the parameters of the global neural network 300 after the stage of updating the parameters of the global neural network.
[0138] После обработки определенного количества мини пакетов данных глобальная нейронная сеть 300 сбрасывает градиенты, и процесс повторяется до тех пор, пока агентом 200 не будет достигнуто требуемое качество принятия решений. [0139] Таким образом, посредством итеративного обновления текущих значений параметров система ПО обучения с подкреплением обучает глобальную нейронную сеть 300 и дочерние нейронные сети 310 генерировать выходные данные нейронной сети, которые представляют собой кумулятивные будущие вознаграждения с амортизацией по времени, которые могут быть получены в ответ на выполнение агентом 200 заданного действия в ответ на заданный набор входных данных. [0138] After processing a certain number of mini-packets of data, the global neural network 300 resets the gradients, and the process is repeated until the agent 200 achieves the required decision quality. [0139] Thus, by iteratively updating the current values of the parameters, the reinforcement learning software system trains the global neural network 300 and child neural networks 310 to generate neural network outputs that represent the cumulative time-amortised future rewards that can be obtained in response for agent 200 to perform a given action in response to a given set of inputs.
[0140] Рассматривая это с практической точки зрения, первая дочерняя нейронная сеть 310-1 может взаимодействовать с копией виртуального окружения 101-1, которая относится к многолюдному окружению (с высокой плотностью заселенности помещения или помещений). После ряда этапов обучения параметры первой дочерней нейронной сети достигнут значений, которые обеспечивают хорошую работу агента 200 для этого типа окружения. Точно так же вторая дочерняя нейронная сеть 310-2 может взаимодействовать с копией виртуального окружения 101-1, которая относится к малолюдному окружению (с низкой плотностью заселенности помещения или помещений), и может иметь параметры, которые обеспечивают хорошую работу агента 200 для этого типа окружения. Глобальная нейронная сеть 300 принимает градиенты от каждой из этих дочерних нейронных сетей и использует эти градиенты для формирования нейронной сети, которая обеспечивает хорошую работу в каждом окружении. Затем эти параметры этой глобальной нейронной сети периодически копируются в дочерние нейронные сети. Параметры могут обеспечивать неоптимальную работу для одного или нескольких типов окружений, поэтому дочерние нейронные сети повторно обучаются на основе соответствующих копий окружений (а затем параметры дочерних нейронных сетей снова предоставляются в глобальную нейронную сеть). Со временем все нейронные сети сходятся в нейронную сеть, которая обеспечивает оптимальную работу для каждого типа окружения. [0141] Также возможно применять эти методы с использованием множества агентов 200, где каждый агент может иметь различный набор пространств действий, каждое из которых последовательно или одновременно взаимодействует с копиями виртуальных окружений 101. Например, первый агент 200-1 может быть выполнен с возможностью управления кондиционерами, в то время как второй агент 200-2 может быть выполнен с возможностью управления радиаторами (и каждый из этих агентов будет иметь разные возможные действия и разные области действия). Для каждого из этих агентов может быть создана отдельная глобальная нейронная сеть-актор, глобальная нейронная сеть-критик, дочерние нейронные сети-акторы и дочерние нейронные сети-критики. Это позволяет быстро обучать нейронные сети на основе различных пространств действий. [0140] Considering this from a practical point of view, the first child neural network 310-1 can interact with a copy of the virtual environment 101-1, which refers to a crowded environment (high-density room or rooms). After a series of training steps, the parameters of the first child neural network will reach values that ensure good performance of the agent 200 for this type of environment. Similarly, the second child neural network 310-2 may interact with a copy of the virtual environment 101-1 that is sparsely populated (with a low density of room or rooms) and may have parameters that make the agent 200 work well for this type of environment. . The global neural network 300 receives gradients from each of these child neural networks and uses these gradients to form a neural network that performs well in each environment. Then these parameters of this global neural network are periodically copied to child neural networks. The parameters may not perform optimally for one or more types of environments, so the child neural networks are retrained based on the appropriate copies of the environments (and then the parameters of the child neural networks are again provided to the global neural network). Over time, all neural networks converge into a neural network that provides optimal performance for each type of environment. [0141] It is also possible to apply these techniques using multiple agents 200, where each agent may have a different set of action spaces, each interacting sequentially or simultaneously with copies of virtual environments 101. For example, the first agent 200-1 may be configured to manage air conditioners, while the second agent 200-2 could be configured to control radiators (and each of these agents would have different possible actions and different areas of action). For each of these agents, a separate global neural network-actor, a global neural network-critic, child neural networks-actors and child neural networks-critics can be created. This allows you to quickly train neural networks based on different action spaces.
[0142] Иллюстрация раскрытой схемы взаимодействия для системы, содержащей множество агентов, показана на фиг. 9. В соответствии с данной иллюстрацией каждый из агентов 200-1, 200-2, 200-К взаимодействует с соответствующей системой обучения с подкреплением 110-1, 110-2, 110-К. Каждая из этих систем обучения с подкреплением содержит множество дочерних нейронных сетей. Каждая из этих систем обучения с подкреплением предназначена для взаимодействия с общим набором копий виртуального окружения 101-1, 101-2, 101-N, где для каждой из копии виртуального окружения одна дочерняя нейронная сеть из каждой системы обучения с подкреплением взаимодействует с этой копией. [0142] An illustration of the disclosed interaction scheme for a system containing multiple agents is shown in FIG. 9. Referring to this illustration, each of the agents 200-1, 200-2, 200-K interacts with a respective reinforcement learning system 110-1, 110-2, 110-K. Each of these reinforcement learning systems contains many child neural networks. Each of these reinforcement learning systems is designed to interact with a common set of copies of the virtual environment 101-1, 101-2, 101-N, where for each of the copies of the virtual environment, one child neural network from each reinforcement learning system interacts with this copy.
[0143] Следует понимать, что системы обучения с подкреплением также могут быть обучены полностью независимо с полностью отдельными копиями виртуальных окружений. [0143] It should be understood that reinforcement learning systems can also be trained completely independently with completely separate copies of virtual environments.
[0144] В иллюстрации на фиг. 9 обратное распространение и обновление параметров для этих дочерних нейронных сетей и глобальных нейронных сетей могут происходить независимо друг от друга, например, каждую систему 110-1, 110-2, 110-К обучения с подкреплением можно обучать отдельно, и они не могут иметь ни общих параметров, ни общих градиентов. [0144] In the illustration in FIG. 9 backpropagation and parameter updates for these child neural networks and global neural networks can occur independently of each other. each other, for example, each reinforcement learning system 110-1, 110-2, 110-K can be trained separately, and they can have neither common parameters nor common gradients.
[0145] В некоторых вариантах осуществления копии виртуальных окружений 101-1, 101-2, 101 -N вынуждены принимать действия от всех агентов 200 одновременно (в одном кортеже). В частности, все агенты выполняют действия и добавляют свои действия в объединенный кортеж, который затем передается в окружение для получения обновленного состояния. На практике это может означать, что для каждой копии виртуального окружения сначала выполняются действия, относящиеся к первому агенту 200-1 (например, включение или выключение блоков кондиционирования воздуха). Затем выполняются действия, относящиеся ко второму агенту 200-2 (например, включение или выключение радиаторов). [0145] In some embodiments, copies of virtual environments 101-1, 101-2, 101-N are forced to take actions from all agents 200 at the same time (in one tuple). In particular, all agents perform actions and add their actions to the combined tuple, which is then passed to the environment to receive an updated state. In practice, this may mean that for each copy of the virtual environment, the actions related to the first agent 200-1 are first performed (for example, turning air conditioning units on or off). Actions related to the second agent 200-2 are then performed (eg turning radiators on or off).
[0146] В случаях, когда взаимодействие с копией виртуального окружения 101 не происходит одновременно, сначала устанавливается порядок взаимодействия со окружением 101, после чего агенты 200 в заданном порядке по очереди выполняют действия. Выполняя действия таким образом, каждый агент, в свою очередь, воздействует на окружение 101, так что каждый агент получает в обучающем кортеже состояние окружения 101. На это состояние будут влиять агенты, находящиеся в более раннем порядке. [0146] In cases where interaction with a copy of the virtual environment 101 does not occur simultaneously, the order of interaction with the environment 101 is first established, after which the agents 200 perform actions in a given order in turn. By performing actions in this way, each agent, in turn, affects the environment 101, so that each agent receives the state of the environment 101 in the training tuple. This state will be influenced by agents in an earlier order.
[0147] Агенты 200, имеющие идентичный набор доступных действий, обычно объединяются в единого агента, имеющего один набор глобальных нейронных сетей-акторов, глобальных нейронных сетей- критиков, дочерних нейронных сетей-акторов и дочерних нейронных сетей-критиков. Это позволяет избежать избыточного обучения (которое тратит впустую доступную вычислительную мощность). Например, может существовать множество агентов, каждый из которых управляет подобными устройствами ОВКВ. Эти агенты могут иметь одно и то же пространство действия, поэтому их можно комбинировать и обучать одновременно. Пространство действий может быть определено на основе набора 102 данных конфигураций и описаний устройства ввода. [0147] Agents 200 having an identical set of available actions are typically combined into a single agent having one set of global actor neural networks, global critic neural networks, child actor neural networks, and child critic neural networks. This avoids redundant training (which wastes available computing power). For example, there may be multiple agents, each controlling similar HVAC units. These agents may have the same action space, so they can be combined and trained at the same time. The action space may be determined based on the set 102 of configuration data and input device descriptions.
[0148] Как правило, на каждом этапе обучения дочерние нейронные сети-акторы 311 и дочерние нейронные сети-критики 312 обучают политику, вычисляют эффект изменения параметров этих нейронных сетей и обновляют градиенты в глобальной нейронной сети 300, используя не только виртуальное окружение и информация о принятых или потенциальных действиях, но также результаты симулятора 400 базовых показателей в дополнение к функции оценки энтропии для улучшения качества обучения. Ключевые показатели производительности или желаемые условия, предоставляемые симулятором 400, также используются дочерней нейронной сетью- критиком для оценки качества выбранной политики. Например, дочерние нейронные сети-критики могут определять, были ли достигнуты желаемые условия, а затем могут оценивать метрику производительности, чтобы определить, хорошо ли работает нейронная сеть. [0148] Typically, at each training step, child actor neural networks 311 and child critic neural networks 312 train a policy, calculate the effect of changing the parameters of these neural networks, and update the gradients in the global neural network 300 using not only the virtual environment and information about taken or potential actions, but also the results of the 400 baseline simulator in addition to the entropy estimation function to improve the quality of training. The key performance indicators or desired conditions provided by the simulator 400 are also used by the critic child neural network to evaluate the quality of the selected policy. For example, child critical neural networks can determine if desired conditions have been met and then can evaluate a performance metric to determine if the neural network is performing well.
[0149] Обычно симулятор 400 предоставляет отдельную метрику для каждой дочерней сети и/или для каждой копии виртуального окружения. [0149] Typically, the simulator 400 provides a separate metric for each child network and/or for each copy of the virtual environment.
[0150] Выходные данные симулятора 400 обычно содержат ряд показателей наряду с вознаграждениями/приоритетами для этих показателей. Затем вознаграждения, накопленные симулятором 400, сравниваются с вознаграждениями, накопленными каждым агентом 200. [0150] The output of simulator 400 typically contains a number of metrics along with rewards/priorities for those metrics. The rewards accumulated by the simulator 400 are then compared with the rewards accumulated by each agent 200.
[0151] Затем производительность каждого агента 200 может сравниваться с симулятором 400. Например, метрика, предоставленная симулятором 400, может относиться к производительности симулятора 400 (например, насколько близко симулятором 400 подошел к достижению определенной температуры и/или влажности, и сколько электроэнергии потребовалось для достижения этих условий). Эту метрику симулятора 400 можно затем сравнить с каждым агентом, чтобы определить, превзошел ли какой-либо из агентов эталонную симуляцию (моделирование) . [0151] The performance of each agent 200 may then be compared to the simulator 400. For example, the metric provided by the simulator 400 may relate to the performance of the simulator 400 (e.g., how close did the simulator 400 come to achieving a certain temperature and/or humidity, and how much power was required to achieving these conditions). This the simulator 400 metric can then be compared with each agent to determine if any of the agents outperformed the reference simulation (simulation).
[0152] Процесс определения обновления для текущих значений параметров глобальной нейронной сети 300 или дочерних нейронных сетей 310 может выполняться системой из одного или нескольких компьютеров, расположенных в одном или нескольких местах. [0152] The process of determining an update for the current parameter values of the global neural network 300 or child neural networks 310 may be performed by a system of one or more computers located in one or more locations.
[0153] Кроме того, любая нейронная сеть может включать в себя один или несколько уровней пакетной нормализации. [0153] In addition, any neural network may include one or more layers of batch normalization.
[0154] Путем многократного повторения вышеуказанных процессов с использованием множества различных поднаборов опытных кортежей система 110 обучения с подкреплением приспособлена для обучения глобальной нейронной сети 300, чтобы иметь оптимальные параметры для управления устройствами ОВКВ в окружающей среде для достижения желаемого набора условий (какой желаемый набор условий может быть основан на выборе пользователя или на выходе нейронной сети). Действия, выбранные глобальной нейронной сетью при заданном конкретном наборе входных данных, предоставляются агенту 200, который приспособлен для взаимодействия со окружением (например, с устройствами ОВКВ в окружении) в соответствии с предоставленными действиями. [0154] By iterating the above processes many times using many different subsets of experience tuples, reinforcement learning system 110 is adapted to train global neural network 300 to have optimal parameters for controlling HVAC devices in the environment to achieve a desired set of conditions (which desired set of conditions can be based on user choice or neural network output). The actions selected by the global neural network given a particular set of inputs are provided to the agent 200, which is adapted to interact with the environment (eg, HVAC devices in the environment) in accordance with the provided actions.
[0155] В отличие от существующих методов, для обновления всех параметров в нейронных сетях используются дополнительные источники моделирования с подкреплением. Таким образом, по сравнению с методами асинхронного преимущества актор-критик, не только случайно выбранные или изученные значения функции значений используются в качестве основных индикаторов, на которые ориентировано обучение, но также моделируются ключевые индикаторы или базовые показатели, которые влияют на время, необходимое для схождения оптимальных политик. [0156] Примером использования раскрытых способов является поддержание желаемых условий внутри здания. При таком использовании агент 200 может быть приспособлен для изменения работы радиаторов, кондиционеров, осушителей и т.д. для поддержания желаемого диапазона температур, влажности и т.д. [0155] Unlike existing methods, additional sources of reinforcement modeling are used to update all parameters in neural networks. Thus, compared to actor-critic asynchronous advantage methods, not only randomly selected or learned values of the value function are used as the main indicators that learning is focused on, but also key indicators or baselines are modeled that affect the time needed to converge. optimal policies. [0156] An example of the use of the disclosed methods is to maintain the desired conditions inside the building. In this use, agent 200 can be adapted to modify the operation of radiators, air conditioners, dehumidifiers, and so on. to maintain the desired range of temperatures, humidity, etc.
[0157] Как показано на фиг. 10, после обучения системы 110 обучения с подкреплением систему обучения с подкреплением и/или одну из составляющих нейронных сетей системы обучения с подкреплением можно использовать для управления устройствами в окружении, таком как комната 10. Фиг. 10 описывает вариант осуществления, в котором система обучения с подкреплением используется вместе с агентом 200 для управления устройством ОВКВ или системой ОВКВ. Система ОВКВ - это система, содержащая множество устройств ОВКВ, которая может содержать центральную систему управления или контроллер (например, компьютерное устройство, предназначенное для управления множеством компьютерных устройств). [0157] As shown in FIG. 10, once reinforcement learning system 110 has been trained, the reinforcement learning system and/or one of the reinforcement learning system's component neural networks can be used to control devices in an environment such as room 10. FIG. 10 describes an embodiment in which a reinforcement learning system is used in conjunction with an agent 200 to control an HVAC device or HVAC system. An HVAC system is a system containing a plurality of HVAC devices, which may include a central control system or a controller (eg, a computer device for controlling a plurality of computer devices).
[0158] На первом этапе 41 (обученная) нейронная сеть принимает в качестве входных данных информацию об изменении окружающей среды (окружения). Это изменение может относиться, например, к: изменению погоды, изменение численности населения в окружении, и/или открытие и закрытие дверей. Входной сигнал может быть получен от датчика устройства ОВКВ. [0158] In the first step 41, the (trained) neural network takes as input information about the change in the environment (environment). This change may refer to, for example: a change in the weather, a change in population in the environment, and/or the opening and closing of doors. The input signal can be obtained from the sensor of the HVAC unit.
[0159] Обычно множество устройств ОВКВ подключаются (соединяются) для формирования системы ОВКВ, которой можно управлять с помощью контроллера. Затем контроллер может отправлять входные данные в каждое из устройств ОВКВ, например, желаемое изменение условий или изменение внешних условий может быть передано устройствам ОВКВ. Точно так же контроллер может содержать нейронную сеть, где контроллер определяет соответствующее действие для каждого из устройств ОВКВ и передает эти действия устройствам ОВКВ. Контроллер может содержать множество нейронных сетей, которые связаны с различными устройствами ОВКВ и/или группами устройств ОВКВ. [0159] Typically, a plurality of HVAC devices are connected (connected) to form an HVAC system that can be controlled by a controller. The controller may then send input to each of the HVAC units, for example, a desired change in conditions or a change in environmental conditions may be sent to the HVAC units. Similarly, a controller can contain a neural network where the controller determines the appropriate action for each of the HVAC units and communicates these actions to the HVAC units. The controller may comprise a plurality of neural networks that are associated with different HVAC devices and/or groups of HVAC devices.
[0160] Точно так же нейронная сеть может присутствовать на вычислительном устройстве одного устройства ОВКВ. [0160] Similarly, a neural network may be present on the computing device of a single HVAC device.
[0161] На втором этапе 42 нейронная сеть предоставляет (например, рекомендует) действие, основанное на вводе. Действие определяется на основе параметров нейронной сети, параметры которых были определены с использованием вышеописанного метода обучения, так что нейронная сеть обеспечивает подходящее действие при заданном вводе. [0161] In the second step 42, the neural network provides (eg, recommends) an action based on the input. The action is determined based on the parameters of the neural network whose parameters have been determined using the learning method described above, so that the neural network provides the appropriate action for the given input.
[0162] На третьем этапе 43 нейронная сеть реализует действие через агента 200. Например, агент может изменять работу устройства ОВКВ. [0162] In the third step 43, the neural network implements the action via the agent 200. For example, the agent may change the operation of the HVAC device.
[0163] На четвертом этапе 44 устройство ОВКВ и/или система ОВКВ предоставляет выходные данные, относящиеся к действиям. Например, устройство ОВКВ может отображать потребление энергии пользователю и/или выдавать звуковой сигнал, указывающий на отклонение от набора целевых условий. Обычно каждое устройство ОВКВ и/или система ОВКВ приспособлены для периодического вывода информации об использовании, относящейся к использованию устройств ОВКВ в окружающей среде (окружении). [0163] In a fourth step 44, the HVAC device and/or HVAC system provides output related to the activities. For example, an HVAC device may display energy consumption to a user and/or provide an audible alert indicating a deviation from a set of target conditions. Typically, each HVAC device and/or HVAC system is adapted to periodically output usage information related to the use of the HVAC devices in the environment.
[0164] На практике использование системы ПО обучения с подкреплением для управления устройством ОВКВ обычно включает использование одной из составляющих нейронных сетей (например, глобальной нейронной сети-актора 301) для управления устройством ОВКВ. [0164] In practice, using a reinforcement learning software system to control an HVAC device typically involves using one of the constituent neural networks (eg, global actor neural network 301) to control the HVAC device.
[0165] Эта нейронная сеть (например, глобальная нейронная сеть- актор 301) может быть обучена с использованием способов, раскрытых в данном документе, а затем может быть передана устройству ОВКВ или контроллеру для системы ОВКВ. Это может включать в себя передачу параметров обученной глобальной нейронной сети-актора в устройство ОВКВ или контроллер. Эта обученная нейронная сеть может затем управлять устройством ОВКВ в зависимости от полученных входных данных (например, измеренных изменений внешних условий и/или сигналов, полученных от системы управления ОВКВ). [0165] This neural network (eg, global actor neural network 301) can be trained using the methods disclosed herein, and then can be transmitted to an HVAC device or controller for an HVAC system. This may include transfer parameters of the trained global neural network-actor to the HVAC device or controller. This trained neural network can then control the HVAC device depending on inputs received (eg, measured environmental changes and/or signals received from the HVAC control system).
[0166] Следовательно, как правило, система ПО обучения с подкреплением в целом присутствует только во время обучения, при этом глобальная нейронная сеть 300 (и/или глобальная нейронная сеть-актор 301) передается с обучающего устройства на устройство ОВКВ после того, как нейронные сети сошлись, и обучение системы обучения с подкреплением было завершено. [0166] Therefore, typically, the reinforcement learning software system as a whole is present only during training, with global neural network 300 (and/or global neural network actor 301) being transferred from the training device to the HVAC device after neural the networks converged and the training of the reinforcement learning system was completed.
Альтернативы и модификации: Alternatives and modifications:
[0167] Следует понимать, что настоящее изобретение было описано выше исключительно в качестве примера, и изменения деталей могут быть выполнены в пределах объема изобретения. [0167] It should be understood that the present invention has been described above by way of example only, and changes in detail may be made within the scope of the invention.
[0168] Например, обучение системы 110 обучения с подкреплением может включать в себя одно или несколько из следующего: глубокое обучение без учителя и/или неглубокое обучение, генеративносостязательные сети (GANs), вариационные автокодеры (VAEs). Такие методы могут позволить повторно использовать однажды обученную модель устройства ОВКВ для аналогичных устройств ОВКВ с несходными пространствами действий. Хотя система ПО обучения с подкреплением обычно использует обучение с подкреплением, другие методы машинного обучения могут использоваться вместо или в дополнение к обучению с подкреплением. [0168] For example, training reinforcement learning system 110 may include one or more of the following: unsupervised deep learning and/or shallow learning, generative adversarial networks (GANs), variational autoencoders (VAEs). Such techniques may allow a once trained HVAC device model to be reused for similar HVAC devices with dissimilar action spaces. While reinforcement learning software typically uses reinforcement learning, other machine learning methods can be used instead of or in addition to reinforcement learning.
[0169] Подробное описание в первую очередь рассматривало использование систем «актор-критик». В более общем смысле, система 110 обучения с подкреплением может использовать любой тип системы обучения, где система обучения с подкреплением обычно все еще включает в себя компоновку с глобальной системой обучения и множеством дочерних систем обучения. [0169] The detailed description primarily addressed the use of actor-critic systems. More generally, reinforcement learning system 110 may use any type of learning system, where the reinforcement learning system would normally still includes a link with a global learning system and many child learning systems.
[0170] Тип используемых систем машинного обучения может быть определен на основе среды и/или входных наборов данных. [0170] The type of machine learning systems used may be determined based on the environment and/or input datasets.
[0171] В некоторых вариантах осуществления функция генерирования вознаграждения, используемая для обучения системы актор-критик, является динамической и/или выбирается из множества возможных функций генерирования вознаграждения. Например, функция генерирования вознаграждеция может зависеть от скорости сходимости и/или разницы в производительности, относящейся к ключевым показателям (например, если система актор-критик близка к оптимальной для первого из ключевых показателей, но плохо работает для второго ключевого показателя метрики, то функция генерации вознаграждения может быть изменена для определения приоритета второй ключевой метрики). [0171] In some embodiments, the reward generation function used to train the actor-critic system is dynamic and/or selected from a variety of possible reward generation functions. For example, the reward generation function may depend on the rate of convergence and/or difference in performance related to key metrics (for example, if the actor-critic system is close to optimal for the first of the key metrics, but performs poorly for the second key metric, then the generation function rewards can be modified to prioritize the second key metric).
[0172] В некоторых вариантах осуществления обучение системы 110 обучения с подкреплением может включать авто коррекцию гиперпараметров. [0172] In some embodiments, training reinforcement learning system 110 may include hyperparameter auto-correction.
[0173] В некоторых вариантах осуществления множество агентов обучаются одновременно, причем эти агенты имеют разные функции генерирования вознаграждения. Это может включать в себя обучение множества агентов для одного устройства ОВКВ или для группы устройств ОВКВ. Затем эти агенты можно активировать и использовать в зависимости от желаемого набора условий. Например, первая группа агентов может быть обучена для достижения оптимально эффективной работы для первого набора целевых условий, а вторая группа агентов может быть обучена для достижения оптимально эффективной работы для второго набора целевых условий. [0173] In some embodiments, multiple agents are trained at the same time, and these agents have different reward generating functions. This may include training multiple agents for a single HVAC device or for a group of HVAC devices. These agents can then be activated and used depending on the desired set of conditions. For example, a first group of agents may be trained to perform optimally for a first set of target conditions, and a second group of agents may be trained to perform optimally for a second set of target conditions.
[0174] Окружающая среда (окружение) обычно связана со зданием. В некоторых вариантах осуществления окружающая среда относится к множеству связанных зданий (например, множеству соседних зданий). Система 110 обучения с подкреплением и агент 200 затем могут быть обучены для достижения оптимальной совместной работы (например, на одно здание может повлиять включение кондиционирования воздуха для другого здания). [0174] The environment (environment) is usually associated with the building. In some embodiments, the environment refers to a plurality of related buildings (eg, a plurality of neighboring buildings). Reinforcement learning system 110 and agent 200 can then be trained to work together optimally (eg, one building may be affected by turning on the air conditioning for another building).
[0175] В некоторых вариантах реализации теория игр используется для определения рационального распределения ресурсов. [0175] In some implementations, game theory is used to determine the rational allocation of resources.
[0176] Хотя данное изобретение было показано и описано со ссылкой на определенные варианты его осуществления, специалистам в данной области техники будет понятно, что различные изменения и модификации могут быть сделаны в нем, не выходя за фактический объем изобретения. [0176] While the invention has been shown and described with reference to certain embodiments, it will be appreciated by those skilled in the art that various changes and modifications may be made therein without departing from the actual scope of the invention.

Claims

Формула изобретения Claim
1. Система управления, по меньшей мере, одним устройством отопления, вентиляции и кондиционирования воздуха (ОВКВ), содержащая: 1. A control system for at least one heating, ventilation and air conditioning (HVAC) device, comprising:
- нейронную сеть системы управления, по меньшей мере, одним устройством ОВКВ, выполненную с возможностью обучения посредством системы обучения; - a neural network of the control system of at least one HVAC device, made with the possibility of learning through the learning system;
- систему обучения нейронной сети системы управления; - training system for the neural network of the control system;
- симулятор базовых показателей; - simulator of basic indicators;
- модуль виртуального окружения; - virtual environment module;
- контроллер; и - controller; And
- память, хранящую инструкции, побуждающие выполнять обучение упомянутой нейронной сети системы управления посредством системы обучения нейронной сети системы управления в соответствии с этапами, включающими: а) получение входного набора данных; б) создание, посредством модуля виртуального окружения, виртуального окружения, связанного с одним или несколькими устройствами ОВКВ, на основании полученного входного набора данных, по меньшей мере, одной виртуальной модели устройства ОВКВ, и по меньшей мере, одной виртуальной модели помещения, в котором располагается упомянутая, по меньшей мере, одна виртуальная модель устройства ОВКВ; в) выполнение симулятором базовых показателей моделирования режима работы упомянутого, по меньшей мере, одного виртуального устройства ОВКВ в упомянутой виртуальной модели помещения на основе полученного входного набора данных; г) получение целевой метрики на основании выполненного моделирования; и a memory storing instructions causing said control system neural network to be trained by the control system neural network training system in accordance with the steps including: a) obtaining an input data set; b) creating, by means of a virtual environment module, a virtual environment associated with one or more HVAC devices, based on the received input data set, at least one virtual model of the HVAC device, and at least one virtual model of the room in which the said at least one virtual HVAC device model; c) performing, by the baseline simulator, simulating an operation mode of said at least one virtual HVAC device in said virtual room model based on the received input data set; d) obtaining a target metric based on the simulation performed; And
52 52
ЗАМЕНЯЮЩИЙ ЛИСТ (ПРАВИЛО 26) д) выполнение обучения нейронной сети системы управления в соответствии с полученной целевой метрикой и в соответствии с входным набором данных; SUBSTITUTE SHEET (RULE 26) e) performing training of the neural network of the control system in accordance with the received target metric and in accordance with the input data set;
- при этом контроллер выполнен с возможностью генерировать управляющие инструкции, и передавать упомянутые инструкции, по меньшей мере, одному устройству ОВКВ, где упомянутые управляющие инструкции сгенерированы на основании полученной целевой метрики в соответствии с этапом г). wherein the controller is configured to generate control instructions and transmit said instructions to at least one HVAC device, where said control instructions are generated based on the received target metric in accordance with step d).
2. Система по п.1, отличающаяся тем, что целевая метрика включает, по меньшей мере, один из следующих показателей или их комбинации: потребление электроэнергии и/или мощности, стоимость электроэнергии и/или мощности, время работы устройства ОВКВ, количество изменений в работе устройства ОВКВ, отклонение от целевых условий. 2. The system according to claim 1, characterized in that the target metric includes at least one of the following indicators or combinations thereof: electricity and/or power consumption, cost of electricity and/or power, operating time of the HVAC unit, number of changes in operation of the HVAC unit, deviation from target conditions.
3. Система по любому из пп.1 или 2, отличающаяся тем, что система обучения содержит систему актор-критик, содержащую нейронную сеть- актор и нейронную сеть-критик. 3. A system according to any one of claims 1 or 2, characterized in that the learning system comprises an actor-critic system comprising an actor neural network and a critic neural network.
4. Система по любому из предшествующих пунктов, отличающаяся тем, что система обучения содержит глобальную систему обучения актор-критик и одну или несколько дочерних систем обучения актор-критик, при этом: 4. The system according to any one of the preceding claims, characterized in that the learning system comprises a global actor-critic learning system and one or more child actor-critic learning systems, wherein:
- глобальная система актор-критик содержит глобальную нейронную сеть-актор и глобальную нейронную сеть-критик; - the global system actor-critic contains a global neural network-actor and a global neural network-critic;
- одна или несколько дочерних систем актор-критик содержит дочернюю нейронную сеть-актор и дочернюю нейронную сеть-критик. - one or more child actor-critic systems contain a child neural network-actor and a child neural network-critic.
5. Система по п. 4, отличающаяся тем, что обучение нейронной сети системы управления включает: 5. The system according to claim 4, characterized in that the training of the neural network of the control system includes:
- передачу градиентов, по меньшей мере, от одной дочерней системы обучения в глобальную систему обучения и обновление параметров глобальной системы обучения на основе градиентов, полученных, по меньшей мере, от одной дочерней системы обучения; - transferring gradients from at least one child learning system to the global learning system and updating the parameters of the global learning system based on the gradients received from at least one child learning system;
53 53
ЗАМЕНЯЮЩИЙ ЛИСТ (ПРАВИЛО 26) - копирование параметров из глобальной системы обучения, по меньшей мере, в одну дочернюю систему обучения; и SUBSTITUTE SHEET (RULE 26) copying parameters from the global learning system to at least one child learning system; And
- повторение этапов передачи градиентов и копирования параметров, при этом повторение этапов передачи градиентов и копирования параметров происходит до тех пор, пока каждая из нейронных сетей дочерней системы и глобальной системы не сойдутся. - repetition of the steps of transmitting gradients and copying parameters, while repeating the steps of transmitting gradients and copying parameters occurs until each of the neural networks of the child system and the global system converge.
6. Система по любому из предшествующих пунктов, отличающаяся тем, что обучение нейронной сети системы управления включает определение объединения, по меньшей мере, двух нейронных сетей для обеспечения заданного режима работы, по меньшей мере, одного виртуального устройства ОВКВ в соответствии с упомянутым виртуальным окружением. 6. The system according to any of the preceding claims, characterized in that training the neural network of the control system includes determining the combination of at least two neural networks to provide a given mode of operation of at least one virtual HVAC device in accordance with said virtual environment.
7. Система по любому из пп. 4-6, отличающаяся тем, что обучение нейронной сети системы управления включает обучение, по меньшей мере, одной дочерней системы с использованием отдельной копии виртуального окружения, при этом каждая из копий виртуального окружения имеет разные свойства инициализации, а свойства инициализации включают, по меньшей мере, одно из следующих значений или их комбинацию: плотность заселенности людей в помещении, разные конфигурации по меньшей мере, одного виртуального устройства ОВКВ и/или разные конфигурации виртуальной модели помещения. 7. The system according to any one of paragraphs. 4-6, characterized in that training the neural network of the control system includes training at least one child system using a separate copy of the virtual environment, each of the copies of the virtual environment has different initialization properties, and the initialization properties include at least , one of the following values, or a combination thereof: occupancy density in the room, different configurations of at least one virtual HVAC device, and/or different configurations of the virtual room model.
8. Система по п.7, отличающаяся тем, что симулятор базовых показателей выполнен с возможностью предоставления отдельной целевой метрики для, по меньшей мере, одной дочерней системы, причем отдельные целевые метрики для упомянутой дочерней системы определяются в зависимости от соответствующей отдельной копии виртуального окружения. 8. The system of claim 7, wherein the baseline simulator is configured to provide a separate target metric for at least one child system, wherein the separate target metrics for said child system are determined depending on the corresponding separate copy of the virtual environment.
9. Система по любому из предшествующих пунктов, отличающаяся тем, что нейронная сеть системы управления обучается в зависимости от набора целевых условий, предоставляемых симулятором базовых показателей, где набор целевых условий включает одно или несколько из условий: 9. The system according to any one of the preceding claims, characterized in that the neural network of the control system is trained depending on the set of target conditions provided by the baseline simulator, where the set of target conditions includes one or more of the conditions:
54 54
ЗАМЕНЯЮЩИЙ ЛИСТ (ПРАВИЛО 26) температура в помещении и/или температура за пределами помещения, влажность в помещении и/или влажность за пределами помещения. SUBSTITUTE SHEET (RULE 26) indoor and/or outdoor temperature, indoor and/or outdoor humidity.
10. Система по любому из предыдущих пунктов, отличающаяся тем, что нейронная сеть обучается в зависимости от множества целевых показателей и/или наборов целевых условий, предоставляемых симулятором базовых показателей, где каждая целевая метрика используется системой обучения для отдельного шага обучения. 10. The system according to any one of the preceding claims, characterized in that the neural network is trained depending on a plurality of target indicators and/or sets of target conditions provided by the baseline simulator, where each target metric is used by the learning system for a separate training step.
11. Система по любому из предшествующих пунктов, отличающаяся тем, что обучение нейронной сети системы управления включает создание агента обучения с подкреплением, настроенного для работы в зависимости от системы обучения, причем агент выполнен с возможностью взаимодействия, по меньшей мере, с одним виртуальным устройством ОВКВ в упомянутом виртуальном окружении. 11. The system according to any one of the preceding claims, wherein training the neural network of the control system comprises creating a reinforcement learning agent configured to operate depending on the training system, wherein the agent is configured to interact with at least one virtual HVAC device in said virtual environment.
12. Система по п.11, отличающаяся тем, что симулятор базовых показателей выполнен с возможностью предоставления множества целевых показателей и/или целевых условий в зависимости от максимального количества действий, которые может предпринять упомянутый агент в течение заранее определенного периода обучения. 12. The system of claim 11, wherein the baseline simulator is configured to provide a plurality of targets and/or target conditions depending on the maximum number of actions that said agent can take during a predetermined learning period.
13. Система по любому из предшествующих пунктов, отличающаяся тем, что симулятор базовых показателей выполнен с возможностью предоставления целевой метрики в зависимости от входного набора данных, содержащего ограниченный по времени набор данных, при этом нейронная сеть системы управления обучается в зависимости от того же ограниченного по времени набора данных. 13. The system according to any of the preceding claims, characterized in that the baseline simulator is configured to provide a target metric depending on the input data set containing a time-limited data set, while the neural network of the control system is trained depending on the same time-limited data set time.
14. Система по любому из предшествующих пунктов, отличающаяся тем, что симулятор базовых показателей выполнен с возможностью предоставления целевой метрики без использования нейронной сети системы управления и/или с возможностью предоставления целевой метрики с использованием одного или нескольких из следующих методов: метод дерева 14. The system according to any of the preceding claims, characterized in that the baseline simulator is configured to provide a target metric without using the neural network of the control system and/or to provide a target metric using one or more of the following methods: tree method
55 55
ЗАМЕНЯЮЩИЙ ЛИСТ (ПРАВИЛО 26) решений, метод линейного преобразования данных, методы, основанные на анализе связи, методы, использующие повышение градиента. SUBSTITUTE SHEET (RULE 26) solutions, linear data transformation method, methods based on link analysis, methods using gradient boosting.
15. Система по любому из предыдущих пунктов, отличающаяся тем, что симулятор базовых показателей выполнен с возможностью предоставления целевой метрики в зависимости от одного из следующего: пользовательский ввод данных для управления работой, по меньшей мере, одного устройства ОВКВ в упомянутом виртуальном окружении и/или сохраненных данных, относящихся к работе виртуальных устройств ОВКВ. 15. The system according to any of the preceding claims, characterized in that the baseline simulator is configured to provide a target metric depending on one of the following: user input to control the operation of at least one HVAC device in said virtual environment and/or stored data related to the operation of the virtual HVAC units.
16. Система по любому из предшествующих пунктов, отличающаяся тем, что входной набор данных содержит одни или несколько из следующих данных: данные описания и/или конфигурации ОВКВ устройств в упомянутом виртуальном окружении, данные планировки здания и/или зональной планировки, данные климатических условий. 16. The system according to any one of the preceding claims, characterized in that the input data set contains one or more of the following data: description and/or configuration data of HVAC devices in said virtual environment, building layout and/or zoning data, climatic conditions data.
17. Система по любому из предшествующих пунктов, отличающаяся тем, что обучение нейронной сети системы управления включает предоставление множества упомянутых агентов, где каждый из агентов выполнен с возможностью выполнения множества действий и/или связи, по меньшей мере, с одним устройством ОВКВ. 17. The system according to any one of the preceding claims, characterized in that training the neural network of the control system includes providing a plurality of said agents, where each of the agents is configured to perform a plurality of actions and/or communicate with at least one HVAC device.
18. Система по любому из предыдущих пунктов, отличающаяся тем, что обучение нейронной сети системы управления включает обучение множества систем обучения, где обучение каждой системы обучения из множества систем обучения происходит в упомянутом окружении для каждого виртуального устройства ОВКВ и/или для каждой группы из множества групп аналогичных виртуальных устройств ОВКВ. 18. The system according to any one of the preceding claims, characterized in that training the control system neural network includes training a plurality of learning systems, where training of each learning system of the plurality of learning systems takes place in said environment for each HVAC virtual device and/or for each group of the set groups of similar HVAC virtual appliances.
19. Система по любому из предшествующих пунктов, отличающаяся тем, что обучение нейронной сети системы управления включает обучение множества систем обучения, связанных с множеством упомянутых агентов, при этом каждая система обучения выполнена с возможностью взаимодействия с соответствующим агентом. 19. The system according to any one of the preceding claims, characterized in that training the neural network of the control system includes training a plurality of learning systems associated with a plurality of said agents, each learning system being configured to interact with a respective agent.
56 56
ЗАМЕНЯЮЩИЙ ЛИСТ (ПРАВИЛО 26) SUBSTITUTE SHEET (RULE 26)
20. Система по п. 19, отличающаяся тем, что обучение нейронной сети системы управления включает: 20. The system according to claim 19, characterized in that the training of the neural network of the control system includes:
- обучение первой дочерней системы первой системы обучения и первой дочерней системы второй системы обучения в зависимости от первой копии упомянутого виртуального окружения; - training the first child system of the first learning system and the first child system of the second learning system depending on the first copy of said virtual environment;
- обучение второй дочерней системы первой системы обучения и второй дочерней системы второй системы обучения в зависимости от второй копии упомянутого виртуального окружения; при этом первая дочерняя система первой системы обучения и первая дочерняя система второй системы обучения выполнены с возможностью взаимодействия с первой копией упомянутого виртуального окружения одновременно и/или первая дочерняя система первой системы обучения и первая дочерняя система второй системы обучения выполнены с возможностью взаимодействия с первой копией упомянутого виртуального окружения в соответствии с заранее определенным условием. - training a second child system of the first learning system and a second child system of the second learning system depending on the second copy of said virtual environment; wherein the first child system of the first learning system and the first child system of the second learning system are configured to interact with the first copy of said virtual environment simultaneously and/or the first child system of the first learning system and the first child system of the second learning system are configured to interact with the first copy of said virtual environment according to a predetermined condition.
21. Способ управления, по меньшей мере, одним устройством отопления, вентиляции и кондиционирования воздуха (ОВКВ), включающий этапы, на которых: 21. A method for controlling at least one heating, ventilation and air conditioning (HVAC) device, comprising the steps of:
- получают входной набор данных; - get the input data set;
- создают виртуальное окружение, связанное с одним или несколькими устройствами ОВКВ, на основании полученного входного набора данных, по меньшей мере, одну виртуальной модели устройства ОВКВ, и по меньшей мере, одну виртуальной модели помещения, в котором располагается упомянутая, по меньшей мере, одна виртуальная модель устройства ОВКВ; - creating a virtual environment associated with one or more HVAC devices, based on the received input data set, at least one virtual model of the HVAC device, and at least one virtual model of the room in which the said at least one virtual model of the HVAC device;
- выполняют моделирование режима работы упомянутого, по меньшей мере, одного виртуального устройства ОВКВ в упомянутой виртуальной модели помещения на основе полученного входного набора данных; получают целевую метрику на основании выполненного моделирования; и - performing an operation mode simulation of said at least one virtual HVAC device in said virtual room model based on the received input data set; obtaining a target metric based on the simulation performed; And
57 57
ЗАМЕНЯЮЩИЙ ЛИСТ (ПРАВИЛО 26) - выполняют обучение нейронной сети системы управления, по меньшей мере, одним устройством ОВКВ в соответствии с полученной целевой метрикой и в соответствии с входным набором данных; SUBSTITUTE SHEET (RULE 26) - performing training of the neural network of the control system, at least one HVAC device in accordance with the received target metric and in accordance with the input data set;
- посредством контроллера выполняют генерирование управляющих инструкций; и - by means of the controller, control instructions are generated; And
- передают упомянутые инструкции, по меньшей мере, одному устройству ОВКВ, где упомянутые управляющие инструкции сгенерированы на основании полученной целевой метрики. - transmitting said instructions to at least one HVAC device, where said control instructions are generated based on the received target metric.
22. Машиночитаемый носитель, хранящий компьютерный программный продукт, содержащий инструкции, которые при их выполнении процессором побуждают процессор выполнять способ по п. 21. 22. A computer-readable medium that stores a computer program product containing instructions that, when executed by the processor, cause the processor to perform the method of claim 21.
23. Способ обучения нейронной сети системы управления, по меньшей мере, одним устройством отопления, вентиляции и кондиционирования воздуха (ОВКВ), включающий этапы, на которых: 23. A method for training a neural network of a control system with at least one heating, ventilation and air conditioning (HVAC) device, including the steps of:
- получают входной набор данных; - get the input data set;
- создают, посредством модуля виртуального окружения, виртуальное окружение, связанное с одним или несколькими устройствами ОВКВ, на основании полученного входного набора данных, по меньшей мере, одну виртуальную модель устройства ОВКВ, и по меньшей мере, одну виртуальную модель помещения, в котором располагается упомянутая, по меньшей мере, одна виртуальная модель устройства ОВКВ; - creating, by means of a virtual environment module, a virtual environment associated with one or more HVAC devices, based on the received input data set, at least one virtual model of the HVAC device, and at least one virtual model of the room in which the mentioned at least one virtual HVAC device model;
- выполняют симулятором базовых показателей моделирование режима работы упомянутого, по меньшей мере, одного виртуального устройства ОВКВ в упомянутой виртуальной модели помещения на основе полученного входного набора данных; получают целевую метрику на основании выполненного моделирования; и - performing a baseline simulator simulation of the operation mode of said at least one virtual HVAC device in said virtual room model based on the received input data set; obtaining a target metric based on the simulation performed; And
- выполняют обучение нейронной сети системы управления в соответствии с полученной целевой метрикой и в соответствии с входным набором данных. - perform training of the neural network of the control system in accordance with the received target metric and in accordance with the input data set.
58 58
ЗАМЕНЯЮЩИЙ ЛИСТ (ПРАВИЛО 26) SUBSTITUTE SHEET (RULE 26)
PCT/RU2021/000472 2021-10-29 2021-10-29 System for controlling heating, ventilation and air conditioning devices WO2023075631A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/RU2021/000472 WO2023075631A1 (en) 2021-10-29 2021-10-29 System for controlling heating, ventilation and air conditioning devices
PCT/GB2022/051855 WO2023073336A1 (en) 2021-10-29 2022-07-18 Method, machine-readable medium and control system for control at least one heating, ventilation and air conditioning (hvac) device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2021/000472 WO2023075631A1 (en) 2021-10-29 2021-10-29 System for controlling heating, ventilation and air conditioning devices

Publications (1)

Publication Number Publication Date
WO2023075631A1 true WO2023075631A1 (en) 2023-05-04

Family

ID=83457251

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/RU2021/000472 WO2023075631A1 (en) 2021-10-29 2021-10-29 System for controlling heating, ventilation and air conditioning devices
PCT/GB2022/051855 WO2023073336A1 (en) 2021-10-29 2022-07-18 Method, machine-readable medium and control system for control at least one heating, ventilation and air conditioning (hvac) device

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/GB2022/051855 WO2023073336A1 (en) 2021-10-29 2022-07-18 Method, machine-readable medium and control system for control at least one heating, ventilation and air conditioning (hvac) device

Country Status (1)

Country Link
WO (2) WO2023075631A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190163215A1 (en) * 2017-11-27 2019-05-30 General Electric Company Building energy modeling tool systems and methods
US20190354071A1 (en) * 2018-05-18 2019-11-21 Johnson Controls Technology Company Hvac control system with model driven deep learning
KR102170522B1 (en) * 2018-10-18 2020-10-27 부산대학교 산학협력단 Energy management system for exhibition hall considering environment and occupancy changes
US20210132552A1 (en) * 2019-11-04 2021-05-06 Honeywell International Inc. Method and system for directly tuning pid parameters using a simplified actor-critic approach to reinforcement learning

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6665651B2 (en) * 2001-07-18 2003-12-16 Colorado State University Research Foundation Control system and technique employing reinforcement learning having stability and learning phases
US7345691B2 (en) * 2004-12-02 2008-03-18 Winbond Electronics Corp. Method of image processing and electronic device utilizing the same
US10776692B2 (en) 2015-07-24 2020-09-15 Deepmind Technologies Limited Continuous control with deep reinforcement learning

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190163215A1 (en) * 2017-11-27 2019-05-30 General Electric Company Building energy modeling tool systems and methods
US20190354071A1 (en) * 2018-05-18 2019-11-21 Johnson Controls Technology Company Hvac control system with model driven deep learning
KR102170522B1 (en) * 2018-10-18 2020-10-27 부산대학교 산학협력단 Energy management system for exhibition hall considering environment and occupancy changes
US20210132552A1 (en) * 2019-11-04 2021-05-06 Honeywell International Inc. Method and system for directly tuning pid parameters using a simplified actor-critic approach to reinforcement learning

Also Published As

Publication number Publication date
WO2023073336A1 (en) 2023-05-04

Similar Documents

Publication Publication Date Title
Han et al. A review of reinforcement learning methodologies for controlling occupant comfort in buildings
Wei et al. Multi-objective optimization of the HVAC (heating, ventilation, and air conditioning) system performance
KR102212663B1 (en) An apparatus for hvac system input power control based on target temperature and method thereof
Platt et al. Adaptive HVAC zone modeling for sustainable buildings
Hussain et al. Comfort-based fuzzy control optimization for energy conservation in HVAC systems
Chen et al. Modeling and optimization of complex building energy systems with deep neural networks
US9429921B2 (en) Method and system for energy control management
Fu et al. ED-DQN: An event-driven deep reinforcement learning control method for multi-zone residential buildings
Yang et al. Stochastic optimal control of HVAC system for energy-efficient buildings
Li et al. Multi-objective optimization of HVAC system using NSPSO and Kriging algorithms—A case study
Lissa et al. Transfer learning applied to reinforcement learning-based hvac control
Al-Daraiseh et al. Multi-agent system for energy consumption optimisation in higher education institutions
Han et al. A review of reinforcement learning methodologies on control systems for building energy
Faddel et al. Data driven q-learning for commercial hvac control
Homod et al. Deep clustering of Lagrangian trajectory for multi-task learning to energy saving in intelligent buildings using cooperative multi-agent
Nagy et al. Reinforcement learning for intelligent environments: A Tutorial
Zhang et al. Grid-interactive multi-zone building control using reinforcement learning with global-local policy search
WO2021038759A1 (en) Model selection method, model selection program, and information processing device
Talib et al. Grey-box and ANN-based building models for multistep-ahead prediction of indoor temperature to implement model predictive control
Jeen et al. Low emission building control with zero-shot reinforcement learning
Yu et al. A systematic review of reinforcement learning application in building energy-related occupant behavior simulation
Faddel et al. On the performance of data-driven reinforcement learning for commercial HVAC control
WO2023075631A1 (en) System for controlling heating, ventilation and air conditioning devices
CN116017936A (en) Control method and device for air conditioner room, electronic equipment and storage medium
Burger et al. ARX model of a residential heating system with backpropagation parameter estimation algorithm

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21962658

Country of ref document: EP

Kind code of ref document: A1