一、用于家庭能源管理的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进行模拟研究。