联邦学习特性: – 各方数据都保留在本地,不泄露隐私、不违反法规(上传参数或梯度); – 多方联合数据建立虚拟的共有模型、共同获益的体系(联邦平均、任务激励); – 各方身份和地位平等(用户可靠性、数据质量有差异); – 在各方数据对齐或特征对齐的条件下,联邦学习的建模效果和将整个数据集放在数据中心建模的效果相同、或相差不大(横向联邦、纵向联邦); – 在各方数据或特征不对齐的情况下,迁移学习可以在各方数据间通过交换加密参数达到知识迁移的效果(联邦迁移学习);
联邦学习定义: 在进行机器学习的过程中,各参与方可借助其他方进行联合建模,各参与方无需共享数据资源,即数据不出本地的情况下,进行数据联合训练,建立共享的机器学习模型。
联邦学习架构:(目标:直到联邦学习模型的效果与传统数据聚合所建模型的效果足够接近)
联邦学习与差分隐私 – 联邦学习通过加密体制下的参数交换保护用户数据隐私,数据和模型本身不会进行传输; – 差分隐私通过向用户数据添加适量噪声达到保护数据隐私的目的,本质上仍是传输数据,存在数据泄露的可能性。
联邦学习与分布式机器学习 – 联邦学习是在保护各方数据的前提下进行联合训练; – 分布式机器学习是将数据分布在分布式的工作节点上,由中心节点调配训练,工作节点间不存在数据孤岛问题。
联邦学习与联邦数据库 – 存储方式相似,数据异构,但联邦数据库不涉及任何隐私保护机制。
联邦学习与区块链 – 网络结构上,均是一种去中心化网络结构,稍有区别是联邦第三方会承担汇聚模型,区块链完全是点对点的;安全算法上,联邦学习使用同态加密,区块链使用哈希算法、非对称加密;数据角度上,区块链的每个节点上记录了完整的密文数据,联邦学习的数据均保留在用户本地;奖励机制上,区块链的节点间通过竞争记账获得奖励,联邦学习中依据各方的共贡献分配奖励。
后面进一步研究FATE框架。
FederatedML:联邦学习算法功能组件,所有模块均采用模块化解耦的方式进行开发,从而增强可扩展性。FATE-Flow:联邦学习建模Pipeline调度和生命周期管理工具,为用户构建端到端的联邦学习Pipeline生产服务。FATE-Board:联邦学习建模的可视化工具,为终端用户可视化和度量模型训练的全过程。支持对模型训练过程全流程的跟踪、统计和监控等,并为模型运行状态、模型输出、日志追踪等提供丰富的可视化呈现,帮助用户简单高效地深入探索模型与理解模型。FATE-Serving:高性能可扩展的联邦学习在线模型服务。KubeFATE:通过把FATE的所有组件用容器的形式封装,基于容器部署应用不仅可以无差别地运行在支持容器的平台上,还可以按需灵活地实现多实例水平扩展。通过KubeFATE项目,开发者可以在公有云或私有云中部署FATE项目。如何设计一种联邦学习下的奖惩设计及分配机制? 引入博弈论、契约理论,有效衡量各方的贡献程度,公平分配奖励,形成正向促进循环。
联邦学习中,如何降低Non-IID数据的影响? 改进目标函数;微调;迁移学习;元学习。
有限资源下的超参数调节。 学习率 η \eta η、训练小批量 B B B、每轮通信参与训练的客户端数量 E E E、每轮通信的本地训练迭代数量 C C C。
有限的通信带宽及客户端设备的不可靠性。 降低通信上传带宽;数据(参数、梯度)压缩,结合量化模型、稀疏模型、训练特定层(预训练模型)与联邦平均;目标实现通信效率与模型准确性的平衡。