【发布时间】:2021-02-18 12:10:21
【问题描述】:
【问题讨论】:
标签: tensorflow-federated federated-learning
【问题讨论】:
标签: tensorflow-federated federated-learning
我会说这样的行为通常是随机优化的预期行为。固有的差异会导致您在好的解决方案周围摇摆不定。在查看准确度指标时,优化目标的方差和属性的大小控制着波动的幅度。
对于普通 SGD,降低学习率会降低方差并减慢收敛速度。
对于联邦学习的优化方法,情况有点复杂,但是降低客户端学习率,或者减少本地步骤的数量(同时保持其他事情相同)可能会有类似的效果,通常包括减慢收敛速度。更多详细信息可以在https://arxiv.org/abs/2007.00878 中找到,其他答案中也提到了。潜在地降低跨轮的客户学习率也可以奏效。详细信息也可能会有所不同,具体取决于您使用的优化方法。
【讨论】:
测试准确率是如何计算的?客户端训练了多少个本地 epoch?
如果在一组保留的示例上测试全局模型,则客户端可能会在本地训练期间出现有害的过度拟合。随着全局模型趋于收敛,每个客户端最终都会训练出一个对他们来说效果很好的模型,但可能会偏离最佳全局模型(有时称为客户端漂移https://arxiv.org/abs/1910.06378)。当客户端的本地数据集的分布与全局分布非常不同时,可能会发生这种情况,并且更有可能发生在客户端学习率较高时 (https://arxiv.org/abs/2007.00878)。
降低客户端学习率、减少步骤/批次的数量以及其他导致客户端在每轮通信轮次中做更少“工作”的方法可能会减少波动。
【讨论】: