1 联邦学习的定义
联邦学习最初的定义是一种借助多方客户端的私有数据集来训练全局共享模型的分布式机器学习算法框架。从广义上来说,联邦学习指数据所有者不需要上传私有数据集即可结合多方数据来训练全局共享模型的方法,得到的模型的效果和直接整合数据到数据中心或一台机器上进行训练得到的模型的效果相近,同时也保护了数据的安全,避免泄露数据隐私。
2 联邦学习的典型工作流程
![联邦学习工作流程 联邦学习工作流程](//ziboxinyan.com/FileUpload/ueditor_s/upload/2021-9/27/6376833663733553295819384.png)
(1) 问题确定:模型开发者需要明确使用联邦学习来解决的问题。
(2)客户端配置:客户端(例如,在手机上运行的应用程序)将被部署配置来收集本地模型训练所必需的数据集。在一般情况下,应用程序可能已经存储了数据(例如,短信应用程序存储文本消息,照片管理应用程序存储照片)。在某些情况下,可能需要维护其他数据,例如用户交互数据,为监督学习任务提供标签。
(3)仿真原型(可选):模型开发者使用辅助数据集在联邦学习仿真环境中对模型的体系结构进行原型设计并测试学习模型超参数。
(4)联合模型训练:开始执行多个联邦训练任务以训练多个模型结构或具有不同优化超参数的模型。
(5)(联合)模型评估:在模型经过充分训练之后,将对模型进行分析和评估,挑选出较好的模型。对模型的分析可能包括在数据中心的标准数据集上计算度量标准,或者进行联合评估——将模型推送给受约束的一些客户端,用他们的本地客户端私有数据集进行评估。
(6)部署:最后,一旦选择好模型后,它将经历一个标准模型启动过程。包括人工的质量检测,实时A/B测试(通常通过在某些设备上使用新模型以及在其他设备上使用上一代模型来比较它们的内部性能)和分阶段推出(以便在影响太多用户之前可以发现存在的问题并回滚)。模型的特定启动过程由应用程序的所有者设置,通常与模型的训练方式无关。此步骤也同等地应用于通过联邦学习和传统数据中心方法训练的模型。
3 联邦学习的分类
Qiang Yang等人根据参与方数据分布的不同,将联邦学习分为三类,分别是横向联邦学习(Horizontal Federated
Learning,HFL)、纵向联邦学习(Vertical Federated Learning,VFL)、迁移联邦学习(Transfer Federated
Learning,TFL)。
![联邦学习分类 联邦学习分类](//ziboxinyan.com/FileUpload/ueditor_s/upload/2021-9/27/63768336600512.png)
(1)横向联邦学习,又称基于样本的联邦学习。一般用于实体间用户特征重叠较多,而用户重叠较少的情况下。
(2)纵向联邦学习,又称基于特征的联邦学习。一般适用于企业间具备相同或者类似的用户空间,但是却拥有不同的特征空间。
(3)联邦迁移学习则适用于参与方不仅样本维度而且拥有完全不同的特征空间,例如一个在中国的电商公司和一个在印度的社交网络公司。
4 联邦学习技术的应用
联邦学习技术的行业应用最早出现在2018年,主要应用于包括IT科技、安全防护、金融、智慧城市、医疗健康、智慧零售、电信、教育等领域。
例如:
IT行业应用:用户数据保护、隐私数据安全流转、可扩展分布式数据协作、联合学习、联合计算、数据共享、模型训练、面向产业应用的工具组件、数据脱敏及去标识化、加密算法支持、DMZ区建设、大数据安全等;
电信业应用:车联网通信、智能手机、联邦节点管理、边缘节点管理、数据采集、模型训练、推理判断及智能预测、识别业务流量后的带宽控制、阻塞控制、业务保障,用户信用评估、用户满意度提升等;
金融领域:金融风险管理、数据安全、隐私保护、小微信贷、深度联合建信用模型、客服、侦测欺诈、高性能分布式异构计算技术、软硬件解决方案、提升金融服务质量、安全深入地挖掘数据价值等等.
推荐阅读:《智谱AI&清华大学:2021联邦学习全球研究与应用趋势报告(95页).pdf》