联邦学习漫画链接: https://federated.withgoogle.com/
博客链接: https://blog.research.google/2020/05/federated-analytics-collaborative-data.html
本篇博客介绍了联邦分析,即将数据科学方法应用于分析存储在用户设备上本地的原始数据的实践。与联邦学习一样,它的工作原理是对每个设备的数据运行本地计算,并且只向产品工程师提供聚合结果(而不是来自特定设备的任何数据)。然而,与联邦学习不同,联邦分析旨在支持基本的数据科学需求。这篇文章描述了为追求联邦学习而开发的联邦分析的基本方法,我们如何将这些见解扩展到新领域,以及联邦技术的最新进展如何为不断增长的数据科学需求提供更好的准确性和隐私性。

链接: https://static.aminer.cn/storage/pdf/arxiv/19/1908/1908.07873.pdf
联邦学习涉及在远程设备或孤立的数据中心(如移动电话或医院)上训练统计模型,同时保持数据本地化。在本文中,讨论了联邦学习的独特特征和挑战,提供了当前方法的广泛概述,并概述了与广泛的研究社区相关的未来工作的几个方向。还考虑集中训练机器学习模型,但在本地提供服务和存储它们。讨论了联邦学习的几种情景:

联邦学习中最小化以下目标函数:

通信消耗大
系统异构性
统计异构性
隐私性
通信效率
本地更新方法
Mini-batch 是一种在机器学习中常用的优化方法,它将训练数据集划分为小批次进行模型训练。这种方法相对于全批次训练和随机梯度下降(SGD)有一些独特的优势。
FL最常用的方法是联邦平均(FedAvg),这是一种基于局部随机梯度下降(SGD)平均更新的方法。FedAvg在经验上表现得很好,特别是在非凸问题上,但它没有收敛性保证,并且在实际情况下,当数据是异构的时,它可能会发散。

压缩方案和
在联邦学习中,压缩方案是一种常用的技术,用于减少在参与方之间传输的模型参数量,从而降低通信开销。
梯度压缩:参与方在本地计算模型参数的梯度,并将梯度进行压缩后再发送给中央服务器。常见的梯度压缩方法包括Top-k梯度压缩、量化梯度压缩、稀疏梯度压缩等。这些方法将梯度的大小进行压缩、量化或者稀疏化,从而减少传输的数据量。
模型参数压缩:将模型参数进行压缩,减少传输的数据量。常见的压缩方法包括权重剪枝(Weight Pruning)、低秩近似(Low-Rank Approximation)、矩阵分解(Matrix Factorization)等。这些方法通过减少模型参数的维度或者去除冗余的参数,从而降低传输的数据量。
分布式压缩:将模型参数分为多个部分,然后对每个部分进行压缩。这样可以将模型参数的压缩过程分布在不同的参与方中进行,从而减少单一参与方的计算和通信负担。常见的分布式压缩方法包括点对点压缩、分组压缩等。
选择性上传:参与方根据一定的策略选择是否上传模型参数或者压缩后的参数。比如,只有在模型参数的变化超过一定阈值时才上传,或者只有在本地模型的准确率达到一定要求时才上传。这样可以减少不必要的通信,提高整体的效率。
近似聚合:中央服务器在聚合参与方的参数时进行近似计算。常见的方法包括局部梯度聚合(Local Gradients Aggregation)和联邦平均(Federated Averaging)。通过在聚合过程中引入一定的近似算法,可以减少通信量和计算量。
分散训练
在联邦学习中,分散训练是一种常见的方法,用于在参与方之间分散地进行模型训练。相比于集中式训练,分散训练有以下特点:
分散训练的优势在于可以在保护数据隐私的同时实现模型的训练。它适用于数据分散且无法集中存储的场景,例如医疗、金融等领域。然而,分散训练也面临一些挑战,例如网络传输不可靠、参与方之间的异构性等,需要借助一些优化策略和通信协议来解决这些问题,以提高训练效率和保证模型的准确性。

系统异构
异步通信
主动采样
容错率
统计异构
异构数据建模
对统计异质性进行建模(元学习、多任务学习),仅限于凸目标
将星形拓扑建模为贝叶斯网络,并在学习期间执行变分推理。空预处理非凸模型,但是推广到大型联邦网络是昂贵的。

非iid数据的收敛保证
隐私性
出于隐私考虑,通常需要在联邦设置中将每个设备上的原始数据保存在本地。然而,在训练过程中共享模型更新等其他信息也会泄露敏感的用户信息
联邦学习的隐私

极端通信方案
减少通信
新的异步模型
异构性的诊断
细小的隐私限制
超越监督学习
产业化联邦学习
基准测试
基准测试