首页 > 解决方案 > TFF : 测试精度波动

问题描述

我用 TFF 训练了一个 ResNet50 模型,我在测试数据上使用测试精度进行评估,但是我发现如下图所示的很多波动,请问我该如何避免这种波动?

在此处输入图像描述

标签: tensorflow-federatedfederated-learning

解决方案


我会说这样的行为通常是随机优化的预期行为。固有的差异会导致您在好的解决方案周围摇摆不定。方差的大小和优化目标的属性控制着在查看准确度指标时它的振荡程度。

对于普通的 SGD,降低学习率会降低方差并减慢收敛速度。

对于联邦学习的优化方法,情况要复杂一些,但降低客户端学习率或减少本地步骤的数量(同时保持其他事情相同)可能会产生类似的效果,通常包括减慢收敛速度。更多详细信息可以在https://arxiv.org/abs/2007.00878中找到,其他答案中也提到了。潜在地降低跨轮的客户学习率也可以奏效。详细信息也可能因您使用的优化方法而异。


推荐阅读