联邦学习看了论文之后的小展望(11.21)


typora-copy-images-to: …\MD_note\images


目前整理新看的一些论文:

动态分簇

《Adaptive Client Selection in Resource Constrained Federated Learning Systems: A Deep Reinforcement Learning Approach》这篇文章

核心思想:你不知道哪些设备可能没能力去参与运算,会拖后腿,所以用DRL,目的是自适应的选择部分客户,最小化能源和带宽等资源消耗。

这个比较有前景,因为它没有解决分簇的问题,只是进行了选择,但是有个问题就是,DRL会不会比较难train?目前可以跟着这个思路想下去。接下来任务,先把问题更加具体描述下,然后精读下这个文章

《Adaptive Federated Dropout: Improving Communication Efficiency and Generalization for Federated Learning》

dropout的错误翻译导致理解有偏差,并不是退出,而是随机扔掉一些节点,使得网络减轻

核心:自适应联邦退出。客户端根据模型激活的得分图在每一轮动态选择子模型,训练的是模型权重的子集,而有能力的客户则训练全局模型。每个客户端使用子模型训练一个本地更新,而不是使用完整的全局模型训练一个更新。

利用了激活得分图赋予所有激活的真实值,代表它们的重要性和对训练过程的影响。激活图是训练好的子模型能够在云端聚合的关键。

我们的技术跟踪由当前本地训练回合和前一轮产生的损失值(第15-16行)。如果当前的损失值lc是严格保存在lc低于先前的损失,表明我们选择更好的轮t。

上面这一条也比较有意思,回答了上面的问题。

《Federated Learning Systems: Architecture Alternatives》

四种架构

联邦学习看了论文之后的小展望(11.21)_第1张图片

《FEDERATED TRACE: A NODE SELECTION METHOD FOR MORE EFFICIENT FEDERATED LEARNING》

我们将全局模型的一些性能指标在边缘节点上的时间序列定义为该节点的训练轨迹,可以反映边缘节点的数据分布情况。它使用训练跟踪中的信息进行节点选择。通过精细节点选择而不是随机节点选择,减少通信轮数,加快收敛。

在节点选择方面:第一篇是关于人工智能驱动的节点选择。Wang等人[10]提出了采用深度强化学习DRL代理进行节点选择的FAVOR算法。但需要注意的是,DRL agent需要在环境中进行预训练才能达到良好的效果。第二篇论文是基于规则的节点选择。Goetz等人[11]提出了主动联合学习,即损失函数值越大的节点更有可能在一轮训练中被选择学习更多的知识。

《Federated Learning of Neural Network Models with Heterogeneous Structures》

该方法采用加权平均集成方法将各模型的输出进行组合。利用黑盒优化方法对集成权值进行优化。

(读到这里就可以结束了,全文的核心不过一个对加权参数的优化)

考虑通信

《A Decentralized Game Theoretic Approach for Energy-aware Resource Management in Federated Learning》

在模型训练损失和能量消耗之间的权衡。计算资源管理和上行带宽用户分配之间的协调,很难用优化来解决,使用一个广义纳什博弈公式。为了节省移动设备的能耗,训练模型的性能必须打折扣

《Performance Optimization of Federated Learning over Wireless Networks》

==(这篇文章引用了一些感觉在此问题挺好的文章)==由于无线带宽有限,BS必须选择合适的用户子集来执行FL学习算法。还是优化用户选择上行RB分配。将FL的联合资源分配和用户选择问题作为优化问题,其目标是在满足FL执行的延迟和能耗要求的同时使FL损失函数的值最小化。——最终用优化寻找每个最佳发射功率;匈牙利算法实现分配。

神经网络OR强化学习

《RefinedFed: A Redining Algorithm for Federated Learning》

==(这是什么大水文)==RefinedFed在每个客户端本地数据集进行本地测试后,根据其准确性精炼所有客户端模型。当一个模型通过一个特定的精度阈值时,它将被服务器收集。在每个聚合阶段从模型池中消除低精度和损坏的模型。


从大簇到小簇的DRL?分簇怎么分,是按照优化参数,直接丢到神经网络里呢,还是使用DRL,根据数据的分布进行探索。

基站自己范围内的设备肯定是在一个小簇里的(不考虑D2D),

原本:基站直接上传模型参数给云端,改进:基站之间再形成分簇,每个簇由若干个基站组成,由其中一个基站向上传云端

暂时定深度为4(按照更新轮数):云–基站簇–基站–终端

快速更新机制:加权的时候,考虑到通信和计算情况的不同,传输速率慢、计算速度低的簇,给不同权重。不同更新轮次的参数也给不同的参数(必须等一轮所有簇内的参数都上传的我才能更新我这一轮吗?)

**分簇的时候,考虑哪些参数?**需要考虑到异构性,才能体现“智能”,否则算法结果肯定是平均了。

地理位置、传输延时、能耗、计算accuracy

当前目标还是,共同算出一个模型。

**利用神经网络优化:**输出为每个基站簇包含的基站个数(簇的大小是不确定的,也作为一个优化目标吗,还是定簇的个数,允许簇内基站数为零?),

计算任务能否也分层?不同的步骤显然所需计算量和数据大小不同

对于FL分簇学习的下一步规划,现在有如下思考:

对于动态分簇的思考

联邦学习看了论文之后的小展望(11.21)_第2张图片

你可能感兴趣的:(毕设GP,深度学习,人工智能,pytorch,python)