12
Technique Report Huawei Huang, Kangying Lin Sun Yat-Sen University, Guangzhou, China [email protected]; [email protected] Jan. 13, 2020 This is the technique report for the paper entitled “Prophet: Proactive Candidate-Selection for Federated Learning by Predicting the Qualities of Training and Reporting Phases”, which has been submitted to ICDCS2020. The current version of this report is in Chinese. The English version is under preparing and going to be online very soon. 1. 原始数据集: 数据注释: - Lat:纬度 - Lon:经度 - RSSIRSRPRSRQSINR:信号质量指标 - CPU-workload-Consumed (%):用户手机上 Top 10 app CPU 占用率加起来

Technique Report - X-Intelligencexintelligence.pro/.../uploads/2020/02/TechniqueReport-ICDCS2020-C… · Technique Report Huawei Huang, Kangying Lin Sun Yat-Sen University, Guangzhou,

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Technique Report - X-Intelligencexintelligence.pro/.../uploads/2020/02/TechniqueReport-ICDCS2020-C… · Technique Report Huawei Huang, Kangying Lin Sun Yat-Sen University, Guangzhou,

TechniqueReport

HuaweiHuang,KangyingLin

SunYat-SenUniversity,Guangzhou,China

[email protected]; [email protected]

Jan.13,2020

This is the technique report for the paper entitled “Prophet: Proactive Candidate-Selection for Federated Learning by Predicting the Qualities of Training and Reporting Phases”, which has been submitted to ICDCS2020.

The current version of this report is in Chinese. The English version is under preparing and going to be online very soon.

1.原始数据集:

数据注释:- Lat:纬度- Lon:经度- RSSI、RSRP、RSRQ、SINR:信号质量指标- CPU-workload-Consumed(%):用户手机上 Top10个 app的 CPU占用率加起来

Page 2: Technique Report - X-Intelligencexintelligence.pro/.../uploads/2020/02/TechniqueReport-ICDCS2020-C… · Technique Report Huawei Huang, Kangying Lin Sun Yat-Sen University, Guangzhou,

2.StatePrediction章节

首先是对原始数据进行处理:1) 去噪2) 聚类3) 添加日期信息4) 合并成预测模型的输入数据

具体步骤:1) 去噪:主要去除的是一些 GPS漂移的坐标,根据前后坐标的位置,计算出前后坐标的距离,除以前后两次的时间,得到这个坐标的速度,然后去除那些速度过大的点。

2) 聚类:DBSCAN 聚类方法,采用 sklearn.cluster 中的 DBSCAN 聚类,该聚类方法的好处是不用事先指定有多少个类。

3) 添加日期信息:标记该坐标的日期信息,daytype是(工作日,周末,节假日), whatday是星期几,duration是在该类位置停留的时长。

4) 合并数据得到预测模型的输入数据。处理后的得到的 trajectoryhistory如下:

Daytype代表工作日(0),节假日(1),周末(2)Whatday代表星期几:1-7Duration是在 POI的停留时间

接下来使用处理好的 trajectoryhistory进行 LSTM预测模型训练,具体步骤对应图中的蓝色部分:

Page 3: Technique Report - X-Intelligencexintelligence.pro/.../uploads/2020/02/TechniqueReport-ICDCS2020-C… · Technique Report Huawei Huang, Kangying Lin Sun Yat-Sen University, Guangzhou,

具体如下:先把 duration的时间由(yy-mm-ddhh:mm:ss)转为 unixtimestamp目的是归一化 duration的起始和结束时间

然后根据 LSTM的输入形式,生成训练数据集,具体来说

将 trajectoryhistory每 6个数据组合成输入数据(红色部分),输出一个预测结果,再与trajectory的第 7个数据(蓝色部分)作为真实的结果,进行比较,以此来训练。

Page 4: Technique Report - X-Intelligencexintelligence.pro/.../uploads/2020/02/TechniqueReport-ICDCS2020-C… · Technique Report Huawei Huang, Kangying Lin Sun Yat-Sen University, Guangzhou,

训练完成之后,进行 inferring的推断,目的是将预测出来的 poi和停留时间,转换为 POI位置上的信号质量、cpucapacity具体如下:

将原始数据集中,对应于各个 POI的信号数据,和 APP数据,归类到每个 POI中,取平均值代表这个 POI位置上的信号质量,和 CPU占用率根据信号指标划分为 4个等级

除了 cpu占用率还要考虑每个用户的 cpu性能不同,核心数不同,因此我们采用Cpu计算能力 = cpu频率*(1-占用率)

Page 5: Technique Report - X-Intelligencexintelligence.pro/.../uploads/2020/02/TechniqueReport-ICDCS2020-C… · Technique Report Huawei Huang, Kangying Lin Sun Yat-Sen University, Guangzhou,

3.DRL-basedapproach章节

FL场景:

Page 6: Technique Report - X-Intelligencexintelligence.pro/.../uploads/2020/02/TechniqueReport-ICDCS2020-C… · Technique Report Huawei Huang, Kangying Lin Sun Yat-Sen University, Guangzhou,

1)在每一轮的开始时刻,server告诉设备们一个 Tround的时间。2)设备们把 Tround作为一个要预测的 timeslot,经过前面的预测模型,得到包含设备当前 t状态以及未来 t’的预测状态,将 state汇报给 server3)服务器收到所有设备的 state后,使用 ddqn来进行决策:4)经过 Tround 时间,服务器统计收到的设备模型更新数,并得到这一轮的 action 的reward,进入下一轮。因此服务器观察到的 state如下:

服务器的 action:选择哪个设备就让哪个 X为 1

每次做完选择后,根据选择的设备是否成功更新,来得到这个 action的 reward

前面部分代表的是顺利完成的设备(valid) 所以给出正的 reward对应于我们的目标函数后一部分代表超时的设备(timeout)给出负值的 reward训练过程 server不断学习,目标是做出 reward最大的 action

Page 7: Technique Report - X-Intelligencexintelligence.pro/.../uploads/2020/02/TechniqueReport-ICDCS2020-C… · Technique Report Huawei Huang, Kangying Lin Sun Yat-Sen University, Guangzhou,

4.实验部分

1)首先展示预测部分:原始数据图+poi 聚类图(展示了其中一个设备的聚类情况),其余设备的原始数据也进行类似的聚类处理得到 trajectoryhistory

接下来将处理后的数据进行本地训练 LSTM预测模型为了简化操作,我们对所有设备使用统一的参数设置,因此得到的准确度有所波动。在实

际中,本地模型参数可以根据每个用户的行为模式不同而进行调整,这样得到的准确度会更

高。预测结果的最大值和最小值如下poiaccmax&min: 0.94339622978894210.8490566099589726 sojourntimemax&min: 0.86792453055111860.7735849107211491

Page 8: Technique Report - X-Intelligencexintelligence.pro/.../uploads/2020/02/TechniqueReport-ICDCS2020-C… · Technique Report Huawei Huang, Kangying Lin Sun Yat-Sen University, Guangzhou,

2)接下来是 DDQN的训练部分参数如图,我们训练 E 轮,使得 ddqn 学习到一个较好的选择策略,DDQN 的参数设置如下(未最终确定):

参数设置如图, N=100 代表每轮共有 N 个设备愿意参与训练, K=10 代表每轮 server能够选择设备参与的最大数量,(不能全选的原因是因为 server 带宽有限,或者对时间有要求,选太多设备导致一轮时间太久)我们把十个设备的轨迹数据集分为两部分,一部分用于 offline训练 ddqn模型,另一部分则用于 onlineFL任务进行的时候作为设备的轨迹数据集。为了防止每轮选择的十个设备导致不同选法有误差,我们在 ddqn 训练时,固定每轮参与的都是同样的十个设备,这十个设备在每一轮中,都拥有各自的移动轨迹,导致他们

每一轮的状态不一样。我们将 DDQN利用这十个设备的轨迹进行训练,训练结果如图所示:

Page 9: Technique Report - X-Intelligencexintelligence.pro/.../uploads/2020/02/TechniqueReport-ICDCS2020-C… · Technique Report Huawei Huang, Kangying Lin Sun Yat-Sen University, Guangzhou,

对图的解释:首先是 fedavg,每轮都会让十个设备全部参与,而实际上由于设备处于动态变化的环境中,十个设备并不是都能完成,不能完成的设备会带来负的 reward,因此 fedavg的 reward最小。接下来是 fedcs,fedcs会在 10个设备里面,根据当前的设备状态 [q_t, c_t] 选择认为能够完成的设备,因此 fedcs 选择的设备,是在当前时刻状态最好的那些设备,这种策略可以排除当前状态不好的设备,因此 reward比起 fedavg的选法,会优秀很多。然后 fedcs的 reward还有很大的提升空间,原因在于:1) 如果设备当前状态好,可是在下一个时刻就变差了,这样 fedcs选择的设备有可能没法完成训练,因此带来了负的 reward

2) 如果设备当前状态差,可是在下一个时刻就变好了,这样的设备并不会被 fedcs选中,然后这样的设备,可能是可以完成训练的,因此 fedcs没法得到这类设备完成训练带来的正的 reward

第三个是 fedcs+pred,prediction可以让 server除了设备当前状态,还能知道设备的未来状态 [q_t,c_t,q*_t,c*_t],因此设备可以综合考虑这两个因素,解决了 fedcs上面的那两个问题。实验结果也可以看出,加上了 prediction可以使得 fedcs选择策略的 reward得到大幅度提升,体现了 prediction的作用。最后是 ddqn的解释:Ddqn也是以设备当前和预测的状态作为观察到的 state:[q_t,c_t,q*_t,c*_t]来进行训练。一开始 ddqn会随机的无规律的选择设备进行参与训练,因此 reward很小。

Page 10: Technique Report - X-Intelligencexintelligence.pro/.../uploads/2020/02/TechniqueReport-ICDCS2020-C… · Technique Report Huawei Huang, Kangying Lin Sun Yat-Sen University, Guangzhou,

但是每次选择带来的 reward 高低,都会被 ddqn 网络学习到,通过不断的学习,ddqn的选择策略也在不断的优化。在 3000轮训练之后,ddqn的选择策略获得的 reward已经超过 fedcs,在 7000轮左右之后,ddqn已经接近 fedcs+pred的性能。这说明了 ddqn已经学习到一个接近于/超过 offline的训练RewardunderDynamicuncertainties展示如下:

可以看出,图的左半部分显示 ddqn通过不断的学习,可以学到一个 reward值高的策略,这个 reward跟 ProactiveFedCS的 reward很接近。第二个图是我们在 10000个 epoch的时候,通过模拟改变 POI位置上的连接质量,尽管POI 预测仍然精度很高,但是 POI 位置上的信号发生了很大的变化,使得设备过去的记录不能反映当前 POI位置的信号质量ProactiveFedCS方法仍然会选择过去记录上认为好的设备,这导致了选中的设备实际上并不能完成训练。Ddqn 一开始也会选择这类设备,然后由于选择这类设备后,会获得不好的 reward,因此 ddqn可以学习到这类设备的状态变化,从而改变选择策略,因此 ddqn方法虽然在设备所处的环境较稳定的时候,设备选择策略尽管有时没有 ProactiveFedCS好,但是当设备环境发生变化时,它适应环境变化的能力就体现出来了。这也更加贴合真实的大都市

内多变的计算环境。

3)训练 FLtask

Page 11: Technique Report - X-Intelligencexintelligence.pro/.../uploads/2020/02/TechniqueReport-ICDCS2020-C… · Technique Report Huawei Huang, Kangying Lin Sun Yat-Sen University, Guangzhou,

接下来开始进行 FL任务的训练。我们选用了两个常用的图像分类数据集:mnist和 cifar-10,在这上面进行了数据 non-niid的测试,我们选用不同的 client selection方式来进行每一轮的用户选择,目的是探究不同的选择方式所带来的影响。% iid 的设置:每个设备从总数据集中抽取 10 类不同的图片,抽取的数量从 2000-5000不等,进行 100轮训练 %---Thisparthasnotbeenpresentedinconferenceversionyet.niid的设置:每个设备只抽取 2-4类不同的图片,数量也是从 2500-5000不等,进行 200轮训练。Mnist数据集采用标准的 CNN设计作为 global model,包含两个 3x3的卷积层(第一个卷积层有 32个 channel,第二个卷积层有 64个 channel,每个卷积层后面都有一个大小为 2x2的maxpooling),然后跟着一个大小 512的 full-connected层,以及最后一个 softmax的输出层 (左图)

Cifar-10数据集也是标准的 CNN设计作为 globalmodel,包含 4个 3x3的卷积层(前两个卷积层有 32个 channel,后两个卷积层有 64个 channel,每两个卷积层后面都有一个大小为 2x2 的 max pooling),然后跟着一个大小 512 的 full-connected 层,以及最后一个softmax的输出层 (右图)测试结果精度如下,注意 cifar-10的 state-of-art精度是 0.983,然而这样高的精度是需要集中式的训练才可以取得的,并且我们的目的并不是为了用 FL 来获得更高的精度,而

Page 12: Technique Report - X-Intelligencexintelligence.pro/.../uploads/2020/02/TechniqueReport-ICDCS2020-C… · Technique Report Huawei Huang, Kangying Lin Sun Yat-Sen University, Guangzhou,

是要展示在 resource-constrained 和环境极度动态变化的情况下尽可能的做出最优的选择策略来进行训练,最大化每一轮训练的价值,减少不必要的浪费。

以上是两个数据集 non-i.i.d.进行 200轮训练的结果(每 7轮画一个点,相当于每 7轮测试一次精度)。为了进行比较选择策略,除了每轮选择设备的策略不同之外,其他条件全部设置相同。Mnist:Offline在 45轮左右稳定超过 90%精度,在 80轮左右稳定超过 95%的精度;ddqn在 45轮左右稳定超过 90%的精度,在 80轮左右稳定超过 95%的精度;fedcs在 85轮左右稳定超过 90%的精度,在第 151、156、185、186、190轮偶尔超过 95%的精度。以下是每一轮的具体情况:

Cifar-10:Offline和 ddqn在 100轮之后较稳定地超过 0.6的精度,在 150轮左右较稳定地超过 0.65的精度;fedcs在第 150、161、180、190轮偶尔能达到超过 0.6的精度。以下是每一轮的具体情况: