毕设之:对于问题的再明确(3.3)

对于问题的再明确

解决问题背景

在这里插入图片描述

三个基站,都能够连接到所有的用户(可以设置为部分连不到),现在要完成一个FL任务(Minist识别),基站挑选合适的用户并分簇。

一言以蔽之

基站收集用户设备的功耗、时延信息,进行数学建模;转化为二部图问题,通过匈牙利算法确定匹配,完成分簇。

  • 功耗?待机功率+计算功率+通信功率

    • 通信功率:发射天线功率+数据量得到。
  • 时延?通信时延+计算时延

    • 通信时延:城市环境,瑞利信道增益;香农公式计算上下行速率,进而得到时延。
      • 同一个设备连接不同的基站,其信道质量不同。
    • 计算时延,给定计算的数据量、CPU频率、指令轮数,得到时延。
      • 不同设备的计算能力不同,有的设备因为老化等原因,计算很慢。
  • 二部图?

在这里插入图片描述

我们所建数学模型的输出就是二部图连线的权重,随后用匈牙利算法得到权重和最小的匹配,也就实现了时延和功耗最小的分簇。

可行性及测试验证

最后测试,是想着把通过分簇后得到的FL网络架构,和随机分簇的FL网络架构,训练同一个Minist网络,看最后的耗时、功耗、神经网络精度。

理论上,由于我们初始化的时候,每个设备的计算能力、信道水平都随机初始化了,那么经过我们的算法,必然挑出来的是时延少、功耗低的分簇。

另外,在总功耗有限制的情况下,随机选择由于功耗高的单个设备被选上了,那么总的备选设备数量就小,导致模型训练数据量少了,最后的网络精度肯定下降。

测试验证方面,使用pysyft,能够实现对远端客户机模型的手动聚合(为了分簇,我们必须手动控制它的模型平均以及参数平均),对于并行训练,可以串行计算,但是最后统计时间的时候修改即可。在这里插入图片描述

学习这种自定义网络结构

进阶版

我们之前做的,感觉只是个建模+分配问题,同样的在别的论文也有做(虽然他们主要是对资源如RB进行分配,而我们站在了一个分簇的角度上),如果接下来还要显得专业一些的话,就是针对数据分布不均匀,进行调整:

显然,数据分布不均匀会影响模型精度(比如手写数字识别,数字“1”占了大部分),但是由于隐私问题,我们没法直接获取每个用户其数据的分布情况,因此采用一种FedTrace,通过对设备们在训练过程中损失下降的情况进行聚类,然后根据聚类结果,让中心server在模型聚合的时候加上权重,这样就能够减少一些数据分布不均匀带来的影响。

在前面分簇好的基础上,每个簇内再进行一个这么加权

当然,这个进阶版需要更多的时间和精力去实现(看毕设需不需要做到这个程度了)。

问题和困难

困难也就是毕设实现的三步,1. 建立数学模型(通信部分的公式和匈牙利算法的公式推导),2. 用pytorch实现FL整个算法(需要时间熟悉和实现代码),3. 调整参数和对比测试。

问题:所做工作的难度到底够不够,如果可以的话接下来就冲冲冲!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值