Downloads · 30 days
0
soki95/global-model-for-home-battery-controller
global-model-for-home-battery-controller is a machine learning model from soki95. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as mit.
This model was trained using a reinforcement learning (RL) method to control home batteries. We trained this global RL model on 90 diverse Belgian households with the objective of reducing daily energy cost. We propos…
Downloads · 30 days
0
Access
Public
Updated Oct 7, 2024
Repo size
144 KB
Likes
0
Public
Click a slice to open those files.
.pt144 KB · 97%
From the Hugging Face model README
This model was trained using a reinforcement learning (RL) method to control home batteries. We trained this global RL model on 90 diverse Belgian households with the objective of reducing daily energy cost. We proposed a transfer learning framework to finetune this pretrained global model on limited data from a target household that you would like to use this model for. To read more about our transfer learning framework, data, and RL-based method we encourage you to follow our research published in BuildSys 2024.
The model is a neural network which gets 6 arguments as an input and outputs Q-values for all possible actions (in this case 5 actions). The input arguments to the model are described as below. All inputs have to be normalized between -1 and 1.
| Argument | Type | Description |
|---|---|---|
| arg_1 (soc) | float | Current soc of the battery |
| arg_2 (price) | float | Current electricity price |
| arg_3 (load) | float | Current load of the household |
| arg_4 (pv) | float | Current PV generation of the household |
| arg_5 (hp) | float | Current Heat Pump consumption of the household |
| arg_6 (hour) | float | Current hour of the day |
The output of the model is a vector 5 elements which indicates Q-values for all possible actions. the best action is an action with the highest Q-value.
o = (value for discharge, value for half discharge, value for idle, value for half charge, value for charge)
To load the trained model, you can use the following code:
global_model = nn.Sequential(nn.Linear(6,256),
nn.ReLU(),
nn.Linear(256,128),
nn.ReLU(),
nn.Linear(128,5))
global_model.load_state_dict(torch.load('global_model_q_network.pt'))
The algorithm was developed by AI4E research Group at UGhent. If you need any support, don’t hesitate to reach out to us at [email protected]
@article{madahi2024multi,
title={Multi-source Transfer Learning in Reinforcement Learning-based Home Battery Controller},
author={Seyed Soroush Karimi Madahi, Toon Van Puyvelde, Gargya Gokhale, Bert Claessens, and
Chris Develder},
booktitle={Proceedings of the 11th ACM International Conference on Systems for Energy-Efficient
Buildings, Cities, and Transportation},
year={2024}
}