1.本文研究的问题?
在虚拟电厂中,需要对用户进行负荷预测,以便精准调控。端设备的大量数据需上传到边缘服务器和云,再由云平台做出决策,在边缘服务器将决策分解后发给端设备。联邦学习(FL)可以解决此问题,将设备的数据保存在本地,与云端协同训练负荷预测模型。但是普通的FL不可直接用于负荷预测:每个用户的用电行为不同,全局模型不适用于所有用户;FL训练速度依赖于资源短缺的设备。
本文研究的问题:如何在不上传数据的情况下,使每个用户拥有适配的负荷预测模型(根据不同用户用电行为进行分组);如何最小化每个分组中设备的总功耗和训练时间。
2.针对这个问题,现有的方法?这些方法有什么缺点?
递归神经网络(RNN)方法,数据需要全部上传到云平台进行训练,设备数据中包含有敏感信息,通过网络发送会有不安全隐患。
FL方法进行负荷预测,不需要上传原数据,只上传模型参数,设备从云上下载一个全局模型,用本地数据训练本地模型,此方法中,全局模型不适配所有用户,并且训练时间依赖于资源短缺者。
基于聚类的负荷预测,给每个用户提供了精确的预测模型,但是需要大量数据才能聚类,上传数据同样存在安全隐患。
3.本文提出了什么方法?
本文提出了多中心FL负荷预测框架。通过不同的电力消耗模式、不同的通信资源、计算资源,对设备进行分组。
将匹配理论加入到FL中,优化分组策略和预测模型,是一个组内的功耗+训练时间最小。
4.本文的方法效果如何?
数据集:2009.7.1-2010.12.31爱尔兰居民、企业用电行为每隔一小时的用户负载。
传统的集中式FL与多中心FL算法做对比实验。分别比较:训练轮次的RMSE、训练轮次的MAPE、训练时间的RMSE。结果表明,与基于FL的现有负载预测方法相比,本方案的预测误差减少了8.11%,训练时间减少了90.37%。
*个人理解总结
传统联邦学习的思想:
云将全局模型下发给所有的本地设备,本地设备利用自己的数据训练本地模型,得到一个参数;
每个设备将自己的参数上传给云;
云将所有参数进行聚合;
重复以上步骤直到达到模型的期望值。
联邦学习迭代步骤:
(1)中央服务器初始化一个全局模型,发放给所有设备;
(2)本地设备利用本地数据进行训练;
(3)云平台收到所有的模型参数,聚合为一个全局模型;
(4)重复(1)-(3)的步骤,知道满足条件。
不同用户行为不同,全局模型不适配所有用户,本文提出了多中心联邦学习框架:
即对所有用户进行分组。假定有K个边缘服务器,将所有设备分成K组,边缘服务器获得每一组的模型参数,进行聚合(即所有设备模型参数的平均值),形成该组的全局模型。此方法解决了全局模型不适配所有用户问题。
分组采用了KM匹配的方法。
对于(一对多)—>(一对一)的理解:
有K个边缘服务器,每个服务器对应多个设备。(一对多)但KM算法是一对一的匹配,为了使用KM算法,将边缘服务器扩展为与设备数量一样多。
扩展:指建模和代码实现的时候使得两者数量相等。例如:原本有A、B、C三个服务器a、b、c、d、e、f 6个设备,将他们变成:A、B、C、A'、B'、C'六个服务器和a、b、c、d、e、f 6个设备,其中A'与A等同,以此类推。(一对一)
此时,便可以使用KM算法。若得到的结果是:A-a,B-b,C-c,A'-d,B'-e,C'-f。由于A'、B'、C'是构建出来的,并且A'等同于A,B'等同于B,C'等同于C,所以将他们仨对应的设备,分别归于A、B、C。即:
A — a、d
B — b、e
C — c、f
综上,本文的创新点是:
对用户进行了分组,使得全局模型与每个用户尽可能匹配。
分组时用了匹配算法,使得每组内功耗、通信消耗最小。