作者 | 庄伟铭
编辑 | 陈大鑫
数据异构性:数据非独立分布 (non-IID) 和 各端数据量不同。
本文介绍一篇来自 ACMMM20 Oral 的论文,这篇论文主要通过构建一个 benchmark,并基于 benchmark 结果的深入分析,提出两个优化方法,提升现实场景下联邦学习在行人重识别上碰到的数据异构性问题。
论文地址:https://arxiv.org/pdf/2008.11560.pdf
开源代码:https://github.com/cap-ntu/FedReID
论文第一作者:庄伟铭,商汤和新加坡南洋理工大学联合博士项目二年级学生,导师是文勇刚教授,本科毕业于新加坡国立大学,现在主要进行联邦学习相关的研究。
本文主要对这篇文章的这三个方面内容做简要介绍:
数据集由9个最常用的 行人重识别 数据集构成,具体的信息如下:
这些数据集的数据量、ID数量、领域都不同,能够有效的模拟现实情况下的数据异构性问题。
传统联邦学习算法 Federated Averaging (FedAvg) 要求端边全模型同步,但是 ReID 的分类层的维度由 ID数量决定,很可能是不同的。
所以这篇论文提出了只同步部分的模型 Federated Partial Averaging (FedPav).
FedPav 的每一轮训练可以通过4个步骤完成:
完整的算法可以参考下图:
通过 Benchmark 的实验,论文里描述了不少联邦学习和行人重识别结合的洞见。这边着重提出两点因数据异构性导致的问题。
Local Training 效果比联邦学习的效果好,说明这些大数据集没法在联邦学习中受益。需要有更好的算法来提高精度。
通过这两个数据集测试曲线可以看出,因为数据异构性的影响,精度波动较大,收敛性差。
因为数据的异构性的原因,导致参与联邦学习多方上传前的本地模型的性能优于云端服务器进行模型融合后的模型性能,另外数据异构性还导致了训练的不稳定性和难收敛的问题。
针对这个问题,本方案提出使用知识蒸馏的方法,将参与联邦学习的多方的本地模型当成教师模型,云端服务器的模型作为学生模型,用知识蒸馏的方法更好的将教师模型的知识传递到学生模型,以此提高了模型训练的稳定性和收敛性。
完整算法可以参考下图:
下面的实验结果显示,采用知识蒸馏(橙线)的训练收敛效果能够得到有效提高。
提出权重重分配,提高精度
原算法在 Server 上做模型整合,采用的是加权平均的方法,用每个 Client 的数据量作为权重,进行加权平均。每个 Client 的数据量差距可能非常大,有的占比 40%,有的占比不到 1%,所以该论文提出了进行权重分配。
调整联邦学习模型融合时各方模型更新的权重:给训练效果越好的边端,分配更大的权重,在模型融合时产生更大的影响。
训练效果的衡量是通过比较每一方本地训练前后模型用一批数据做推理产生的特征的余弦距离,余弦距离越大,该训练产生的变化越大,该分配的权重越大。完整算法可以参考下图:
下表格的实验结果显示,权重重分配使所有边端模型的性能都超过 Local Training,带来普遍的性能提升。
针对数据隐私问题,这篇论文将联邦学习应用到行人重识别,并做了深入的研究分析。构建了一个 Benchmark,并基于实验结果带来的洞见,提出了使用知识蒸馏和权重重分配的方法来解决数据异构性带来的性能问题。
算法细节和更多实验结果,推荐阅读原论文和开源代码。
[赠书福利]
在AI科技评论今天(10月19日)头条文章《专访吴军:未来10年,AI的发展方向是应用,不会出现重大的理论突破》一文留言区留言,谈一谈吴军博士对你的启示,或你对信息技术发展的理解。
AI 科技评论将会在留言区选出 10 名读者,每人送出《信息传》一本。
活动规则:
1. 在留言区留言,留言点赞最高的前 10 位读者将获得赠书。获得赠书的读者请联系 AI 科技评论客服(aitechreview)。
2. 留言内容会有筛选,例如“选我上去”等内容将不会被筛选,亦不会中奖。
3. 本活动时间为2020年10月19日 - 2020年10月23日(23:00),活动推送内仅允许中奖一次。
NeurIPS 2020论文接收列表已出,欢迎大家投稿让更多的人了解你们的工作~