“具有分布式能源资源的多个智能家庭的能源管理的联邦强化学习”文章学习四——基于联邦深度学习的多智能家居能源管理

一、用于家庭能源管理的 FRL 算法

在本节中,我们将阐述提出的FRL算法(算法1),该算法以分布式方式调度多个智能家庭的能量消耗。在提出的FRL框架中,LHEMS和GS相互迭代并有效训练LHEMS的模型。我们考虑了由LHEMS控制的空调、WM和ESS的三个DRL智能体。我们考虑的是在连续动作空间中由相应的智能体安排空调、WM和ESS的能量消耗的情况。为此,我们在每个智能体的学习过程中采用了A2C方法,该方法在第二节B部分中介绍过。假设所有智能体同时启动学习过程。每个智能体都从由神经网络(即演员网络)产生的均值和方差中选取其行动,并从由此产生的分布中采样随机行动。此外,智能体增加了神经网络,即批评家网络,以接收Q(st, at)并计算A(st, at)以提高模型性能。在完成本地训练过程后,每个智能体将其训练过的模型发送到GS。需要注意的是,智能体们共享他们自己的训练模型(例如神经网络的权重),但并不共享用于训练的私有数据。在将本地训练的模型传递到GS之后,它们被存储在GS中的一批数据中。GS利用存储在一批中的所有LHEMS的智能体训练模型生成全局模型。在本研究中,我们采用了FedSGD算法[15]以及自适应矩估计(ADAM)优化算法[26]来构建全局模型。最后,产生的全局模型同时分发给所有LHEMS中的智能体。智能体们同步重新启动使用给定的全局模型的学习过程。

最后,在算法1中,多个智能家居的能源管理总体学习过程可以描述如下:

首先,基于每个家庭环境的家电能源需求和不满参数被初始化(第1行)。

第二,Q值Q(st, at)、优势A(st, at)、行动概率p(st, at)以及演员和评论家网络的权重θ被初始化(第2行)。

第三,GS的全局模型ωG以及共享批次φ被初始化。它们被用于生成和广播最优全局模型给LHEMSs(第3行)。

第四,对于每个通信回合和本地训练剧集,每个设备的智能体重复以下过程,从初始时间步(t = 1)找到其最优能源消耗计划直到最终时间步(t = 24)(第7-12行)。

a)对于设备智能体的状态st,根据演员网络产生的均值和方差产生的分布,从样本行动中找出行动at(第8行)。

b)计算上一步选择的行动at,从行动中获得奖励Rt,并用Q(st, at)和状态V(st)的值计算A(st, at),以更新演员网络(第9行)。

c)估计TD目标值TDt,它是V(st)的目标估计,通过TD方法(第10行)。

d)计算演员和评论家网络的损失函数,并使用ADAM优化器ϕ更新LHEMSn的模型ωn(第11,12行)。

第五,每个LHEMSn发送其在每个本地训练剧集期间生成的本地方案模型ωnnew给GS, GS将其存储在φ中(第15行)。

第六,GS通过使用存储在批次中的模型权重执行FedSGD来生成新的全局模型ωGnew(第17,18行)。

第七,新生成的全局模型ωGnew被分配给所有的LHEMSs,它们根据ωGnew训练自己的本地模型(第19,20行)。

二、仿真设置

我们考虑了四户家庭,他们有工作机械(WM)、空调(AC)和储能系统(ESS),规格各不相同,如表II所示。在图3(a)的TOU关税以及图3(b)的预测室外温度和图3(c)的光伏发电能量下,工作机械、空调和储能系统的操作由提出的HEMS控制24小时,1小时调度解析度。在每个家庭中,假定工作机械在一天内连续运行2小时。最初的、最低的和最大的SOE值分别设定为SOEmax的50%、10%和100%。工作机械和储能系统的不满意成本惩罚分别为(δ=80, δ=80)和(τ=150, τ=150)。提出的A2C模型包括一个带有256个神经元的公共主体网络的三个隐藏层,即每个演员和评论家网络带有128个神经元的单个隐藏层。提出的A2C方法体系结构如图4所示。使用双曲正切函数作为传递函数。此外,使用ADAM优化算法[26]训练基于深度学习的本地HEMS模型,学习率为0.00001。我们假设在本地HEMS的训练每100次迭代后,发生一次本地HEMS和全局HEMS服务器之间的通信。使用Python 3.7.0和ML包pytorch 1.1.0进行模拟研究。

相关推荐
云上艺旅5 小时前
K8S学习之基础七十四:部署在线书店bookinfo
学习·云原生·容器·kubernetes
你觉得2055 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
hyshhhh6 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
A旧城以西7 小时前
数据结构(JAVA)单向,双向链表
java·开发语言·数据结构·学习·链表·intellij-idea·idea
无所谓จุ๊บ7 小时前
VTK知识学习(50)- 交互与Widget(一)
学习·vtk
FAREWELL000757 小时前
C#核心学习(七)面向对象--封装(6)C#中的拓展方法与运算符重载: 让代码更“聪明”的魔法
学习·c#·面向对象·运算符重载·oop·拓展方法
Listennnn7 小时前
优雅的理解神经网络中的“分段线性单元”,解剖前向和反向传播
人工智能·深度学习·神经网络
吴梓穆7 小时前
UE5学习笔记 FPS游戏制作38 继承标准UI
笔记·学习·ue5
Three~stone7 小时前
MySQL学习集--DDL
数据库·sql·学习
齐尹秦8 小时前
HTML 音频(Audio)学习笔记
学习