写在开头

初学联邦学习喵,稍微记录一些内容,参考了开山论文和综述论文,不过大体也是以尝试复现一下FedAVG的代码结尾

正文

联邦学习是什么

首先考虑到该领域的开山论文《Communication-Efficient Learning of Deep Networks from Decentralized Data》,论文中提到 > We advocate an alter-native that leaves the training data distributed onthe mobile devices, and learns a shared model byaggregating locally-computed updates. We termthis decentralized approach Federated Learning. 简单翻译过来就是将通过将机器学习的数据存储和模型训练阶段转移至本地用户,仅与中心服务器交互模型更新,这种去中心化的方法就是联邦学习了。

联邦学习的背景

手机或平板电脑等设备存储了大量的私人数据,并且可服务于更加智能的场景,但是这些数据如果集中在某一个服务器,或者什么位置,都会代来极难控制的风险和责任,所以通过联邦学习将将模型训练与直接访问原始训练数据的需求解耦,那么隐私泄露的风险就会大大降低。

联邦学习面对的问题

非独立同分布(Non-IID)

每个客户端上的训练数据通常基于特定用户对移动设备的使用,因此任何特定用户的本地数据集都不会代表总体分布。

不平衡(Unbalanced)

一些用户会比其他用户更频繁地使用服务或应用程序,导致本地训练数据量的差异。

大规模分布(Massively distributed)

参与优化的客户端数量预计会远远超过每个客户端的平均样本数量。--- 客户端多但单独包含的数据少

有限通信(Limited communication)

移动设备经常处于离线状态或连接速度慢、费用高的网络环境中。

联邦学习的实验环境

同步更新方案

假设使用同步更新方案,分为多个通信轮次进行。 具体:所有选定的客户端在每一轮通信中同时进行更新。 过程:每一轮通信开始时,服务器会将当前的全局模型状态发送给选定的客户端。客户端在接收到模型后,基于其本地数据进行训练,并将更新后的模型参数发送回服务器。服务器在接收到所有客户端的更新后,合并这些更新,更新全局模型。

固定客户端集合

有一个固定的客户端集合 ( K ),每个客户端都有一个固定的本地数据集。

随机选择客户端

在每轮开始时,随机选择一部分客户端 ( C )(为了效率,只选择一部分客户端,因为实验表明增加客户端数量在某个点之后收益递减)。

服务器与客户端通信

服务器将当前的全局算法状态(例如当前模型参数)发送给选定的客户端。

本地计算和更新

每个选定的客户端基于全局状态和本地数据集进行本地计算,然后将更新发送回服务器。

服务器更新全局状态

服务器应用这些更新到其全局状态,然后重复这个过程。

开山论文的方法

FedAVG:每个客户端进行多次本地更新,然后服务器通过加权平均来聚合本地设备上的模型参数

联邦学习的分类

横向联邦学习

横向联邦学习的特点是数据集特征X和标签信息Y相同,但样本ID不同 具体解释:各个机构拥有的数据集包含相同类型的特征和标签,但每个机构的数据样本是不同的个体 例如:输入法的下一词预测模型

纵向联邦学习

纵向联邦学习的特点是数据集样本ID相同,但特征X和标签信息Y不同 具体解释:各个机构拥有的数据集包含相同的个体,但每个机构的数据集包含不同的特征和标签信息 例如:银行和电商平台合作进行用户信用评分模型

联邦迁移学习

联邦迁移学习的特点是数据集特征X、标签信息Y和样本ID均不同 具体解释:各个机构拥有的数据集在特征、标签和样本上都存在差异,通过迁移学习的方法来提升模型的泛化能力 例如:不同医院之间合作进行罕见病的诊断模型

联邦学习面对的挑战

论文来源

周传鑫,孙奕,汪德刚,等.联邦学习研究综述[J].网络与信息安全学报,2021,7(05):77-92. ### 通信效率短板明显 全局模型训练时间分为数据处理时间和通信传输时间两部分,而随着计算机设备算力的提升,数据处理时间不断降低,联邦学习的通信传输效率变成限制其训练速度的主要因素。 通常改进方案有两个目标:减少每轮通信传输的数据大小;减少模型训练的总轮数。 目前,改进通信效率方案主要是通过优化联邦学习框架算法、压缩模型更新和采用分层分级的训练架构。 #### 未解决的问题 1. 在处理Non-IID数据时,相对于处理IID数据,时间开销成倍增长。这是因为Non-IID数据的分布不均匀,导致模型在不同数据集上的训练效果差异较大,需要更多的时间来达到收敛。 2. 虽然压缩算法能够显著降低通信数据的大小,但会严重影响模型的精度。在通信效率和模型精度之间找到平衡是一个挑战。压缩算法减少了传输的数据量,但可能丢失重要的信息,导致模型性能下降 3. 分层分级的训练架构并不适用于所有的联邦学习场景,有时这种物理结构并不存在。这意味着在某些情况下,无法通过分层分级的方法来优化通信效率和训练速度。

隐私安全仍有缺陷

  1. 恶意客户端修改模型更新,破坏全局模型聚合;
  2. 恶意分析者通过对模型更新信息的分析推测源数据隐私信息;
  3. 恶意服务器企图获得客户端的源数据。 #### 目前的措施 增强联邦学习隐私安全性的主流方案与经典机器学习隐私保护技术结合
  4. 差分隐私
  5. 安全多方计算
  6. 同态加密 #### 未解决的问题
  7. 在少量客户端参与时,模型精度受到较大影响。大量客户端参与时,噪声误差可通过模型加权平均抵消,但大量超参数限制了进一步应用。
  8. 提供无损全局模型构建,但造成较大的通信开销。平衡通信负担和模型安全是一个重大挑战。

缺乏信任与激励机制

联邦学习并没有针对客户端的信任机制,对于客户端的信誉没有统一的分数评价,这严重影响了对优质客户端的选择,从而导致全局模型精度降低。 #### 目前的方案 联邦学习通过集成区块链能够以一种安全、高度抗中断和可审计的方式记录其模型更新,为系统框架提供可问责性和不可否认性。同时,区块链的激励机制作为一种经济回报能够根据构建模型时客户端的贡献给予相应的奖励。

联邦学习的研究热点

系统异构

  1. 客户端的低参与率;
  2. 兼容不同的硬件结构;
  3. 能够容忍训练设备的中途退出 ### 统计异构 Non-IID 分布和非平衡分布 通过多任务学习框架学习不同的局部模型。类似于元学习,多任务学习由于对个性化和特定于设备建模的支持,已经成为解决数据统计异构性的主流方法。 ### 无线通信 由于无线信道的带宽容量有限,因此在发送信息之前,需要对模型更新进行量化压缩,在这种模式下,一个重要的考虑因素是存在量化误差时模型更新的鲁棒性。除了通信带宽外,无线通信中复杂的噪声和干扰也是加剧信道瓶颈的因素