查看原文
其他

终于有人把联邦学习讲明白了

薄列峰 黄恒 等 大数据DT 2023-04-15

导读:随着人们对个人隐私泄露的担忧以及相关法律法规的出台,传统的人工智能技术急需适应新形势、新情况。联邦学习(Federated Learning, FL)作为其中一种技术上的解决方案备受学术界和工业界人士的关注。本文将对联邦学习进行全面的介绍。 


作者:薄列峰 黄恒 顾松庠 陈彦卿 等
来源:大数据DT(ID:hzdashuju)




01 什么是联邦学习

2016年是人工智能(ArtificiaIntelligence,AI)成熟的一年。随着AlphaGo击败人类顶级围棋手,我们真正见证了人工智能的巨大潜力,并开始期待更复杂、更尖端的人工智能技术可以应用在更多的领域,包括无人驾驶、生物医疗、金融等。

如今,人工智能技术在各行各业都显示出了优势。最新的AlphaFold2技术甚至可以预测35万种蛋白质结构,这些结构涵盖了98.5%的人类蛋白质组。然而,这些技术的成功大都以大量的数据为基础。比如计算机视觉领域中图像分类、目标检测等技术的发展离不开众多大规模的图片数据集,如ImageNet、COCO和PASCALVOC。

在自动驾驶领域,众多国内外厂商积累了数十万公里的道路测试数据。AlphaGo在2016年总共使用了30万场游戏的数据作为训练集。

随着AlphaGo的成功,人们自然希望像AlphaGo这样的由大数据驱动的人工智能技术能够很快在生活中应用起来。然而,现实有些令人失望:除了少数行业,大多数领域只拥有有限的数据或质量较差的数据,这使AI技术的落地比我们想象的更困难。是否可以通过跨组织传输数据,将数据融合在一个公共站点中呢?

事实上,在许多情况下,打破数据源(数据拥有者)之间的障碍是非常困难的,甚至是不可能的。一般来说,任何AI项目所需的数据都包含多种类型。例如,在人工智能技术驱动的产品推荐服务中,产品销售者拥有产品信息、用户购买数据,但没有描述用户购买能力和支付习惯的数据。在大多数行业中,数据以孤岛的形式存在。

由于行业竞争、隐私安全、复杂的管理程序等,即使是同一公司不同部门之间的数据集成也面临着巨大的阻力,要整合分散在全国各地的数据和机构几乎是不可能的,或者在成本上是不可行的。

与此同时,随着越来越多的公司意识到损害数据安全和用户隐私的严重性,数据隐私和安全已成为全球性的重大问题。公共数据泄露的相关新闻引起了公共媒体和政府的极大关注,如2018年国外某社交网站的数据泄露事件引发了广泛关注。

作为回应,世界各国都在完善保护数据安全和隐私的法律。例如,欧盟于2018年5月25日实施的《通用数据保护条例》(General Data Protection Regulation,GDPR)。

GDPR(见图1-1)旨在保护用户的个人隐私和数据安全,要求企业在用户协议中使用清晰明了的语言,并授予用户“被遗忘权”,即用户的个人数据可以被删除或撤销,违反该条例的公司将面临高额罚款。

▲图1-1 GDPR

我国也在实施类似的隐私和安全措施。例如,我国于2017年颁布的《网络安全法》和《民法通则》规定,互联网企业不得泄露或篡改其收集的个人信息,在与第三方进行数据交易时,需要确保拟议的合同遵守数据保护法律义务。这些法规的建立显然有助于建立一个更文明的社会,但也对人工智能中常用的数据交易程序提出了新的挑战。

具体来说,人工智能中的传统数据处理模型往往涉及简单的数据交易模型,一方收集用户数据并将数据传输给另一方,另一方负责清理和融合数据。最后,第三方将利用集成的数据来建立模型以供其他方使用。模型通常作为服务出售的最终产品。这一传统的流程面临上述新的数据法规的挑战。

此外,由于用户可能不清楚这些模型的未来用途,这些交易可能会违反GDPR等法律法规的规定。结果,数据使用方会面临这样一个困境——数据以孤岛的形式存在,但在很多情况下,数据使用方被禁止收集、融合或者将数据传输给其他组织或个人进行AI处理。

因此,如何合法合规地解决数据碎片化和孤岛问题,是人工智能研究人员和从业者将要面临的一个重要挑战。

联邦学习这个术语是由 McMahan 等人在 2016 年的论文中引入的: 

我们将我们的方法称为联邦学习,因为学习任务是通过由中央服务器协调的参与方设备(我们称之为客户机,即 Client)的松散联邦来完成的。

跨大量通信带宽有限的不可靠设备的一些不平衡且非独立同分布(Independently and Identically Distributed,IID)数据的划分是联邦学习面临的挑战。在联邦学习这个术语出现之前,一些重要的相关工作已经开展。

许多研究团体(来自密码学、数据库和机器学习等多个领域)追求的一个长期目标是分析和学习分布在许多所有者之间的数据,而不泄露这些数据。在加密数据上计算的加密方法始于20世纪80年代早期(参考Rivest等人于1982年发表的文章),Agrawal、Srikant和Vaidya等人是早期尝试使用集中式服务器从本地数据中学习并同时保护隐私的典范。

相反,即使自引入联邦学习这个术语以来,我们也没有发现任何一项研究工作可以直接解决FL面临的所有挑战。因此,术语“联邦学习”为这些经常在隐私敏感的分布式数据(又称中心化数据)的机器学习(Machine Learning,ML)应用问题中共同出现的特征、约束和挑战等提供了方便的简写。

在联邦学习领域,许多开放式挑战的一个关键属性是,它们本质上是跨学科的。应对这些挑战可能不仅需要机器学习,还需要分布式优化、密码学、安全性、差分隐私、公平性、压缩感知、信息理论、统计学等方面的技术。许多最棘手的问题都处在这些学科的交叉点上,因此我们相信,各领域专家之间的协作对联邦学习的持续发展至关重要。

联邦学习最开始被提出时,在移动和边缘设备等应用场景备受关注。之后,联邦学习的应用场景越来越多,例如,多个组织协同训练一个模型。联邦学习的上述相关变化引申出更广泛的定义。

定义联邦学习是一种机器学习设置,其中多个实体(客户端)在中央服务器或服务提供商的协调下协同解决机器学习问题。每个客户端的原始数据都存储在本地,并且不会交换或直接传输;取而代之的是,使用旨在即时聚合的有针对性的更新迭代来实现学习目标。

有针对性的更新是指狭义的更新,以包含特定学习任务所需的最少信息;在数据最小化服务中,尽可能早地执行聚合操作。虽然对数据隐私保护的研究已经超过50年,但在最近10年才有广泛部署的大规模解决方案(例如Rappor)。

跨设备联邦学习和联邦数据分析正在应用于消费数字产品中。例如Gboard移动键盘以及Pixel手机和Android Messages中广泛使用了联邦学习;又例如在iOS13中,跨设备FL被应用于QuickType键盘和Siri的声音分类器等应用中。

跨信息孤岛的一些应用在各领域提出,包括金融风险预测、药物发现、电子健康记录挖掘、医疗数据分割和智能制造。对联邦学习技术不断增长的需求激发了许多工具和框架的出现,包括TensorFlow Federated、FATE(Federated AI Technology Enabler)、PySyft、Leaf、PaddleFL和Clara Training Framework等。

关于各种框架之间的异同,读者可参考Kairouz等人2019年发表的综述。一些成熟的技术公司和较小的初创公司也正在开发利用联邦学习技术的商业数据平台。


02 联邦学习的工作流程

在介绍联邦学习(FL)的训练过程之前,我们先考虑一个FL模型的生命周期。FL过程通常是由为特定应用程序开发模型的工程师驱动的。例如,自然语言处理领域的专家可以开发一个用于虚拟键盘的下一个单词预测模型。图1-2显示了联邦学习的主要组件和参与者。从更高层次上看,典型的工作流程如下。

▲图1-2 FL模型生命周期和联邦学习系统参与者

  • 问题识别:模型工程师识别出需要用FL解决的问题。
  • 客户端检测:如果需要的话,客户端(例如手机上运行的应用程序)将在本地存储必要的训练数据(有时间和数量限制)。在很多情况下,应用程序已经存储了这些数据(例如,一个短信应用程序已经存储短信,一个照片管理应用程序已经存储照片)。然而,在某些情况下,可能需要维护额外的数据或元数据,例如用户交互数据,以便为监督学习任务提供标签。
  • 仿真原型(可选):模型工程师可以使用代理数据集在FL模拟中对模型架构进行原型化并测试学习超参数。
  • 联邦模型训练:启动多个联邦训练任务来训练模型的不同变体,或使用不同的超参数优化。
  • 联邦模型评估:在任务得到充分训练之后(通常是几天),对模型进行分析并选择合适的候选者。模型分析可能包括在数据中心的标准数据集上计算指标或者联邦评估,其中模型被推送到保留的客户端,以对本地客户端数据进行评估。
  • 部署:最后,一旦一个好的模型被选中,它将经历一个标准的模型发布过程,包括手动质量保证、实时A/B测试(通常是在一些设备上使用新模型,在其他设备上使用上一代模型来比较它们的性能),以及阶段性推出(以便在影响太多用户之前发现和回滚不良行为)。模型的特定启动过程是由应用程序的所有者设置的,通常与模型是如何训练的无关。换句话说,这个步骤同样适用于经过联邦学习或传统数据中心方法训练的模型。

FL系统面临的主要挑战之一是如何使上述工作流程尽可能简单,理想地接近集中训练(Centralized Training)的ML系统所达到的易用性。

接下来,我们将详细介绍一种常见的FL训练过程,它可以涵盖McMahan等人提出的联邦平均(Federated Averaging)算法和许多其他算法。

服务器(服务提供者)通过重复以下步骤来安排训练过程,直到训练停止(由监视训练过程的模型工程师自行决定):

  • 客户端选择:服务器从满足资格要求的一组客户端中抽取样本。例如,为了避免影响正在使用设备的用户,手机可能只有在插电、使用不计流量的WiFi连接且处于空闲状态时才会连接到服务器。
  • 广播:选定的客户端从服务器下载当前的模型权重和一个训练程序(例如Tensor-Flow Graph)。
  • 客户机计算:每个选定的设备通过在本地执行训练程序对模型进行更新,例如,训练程序可以在本地数据上运行SGD(如Federated Averaging算法)。
  • 聚合:服务器对设备的更新进行聚合。为了提高效率,一旦有足够数量的设备报告了结果,可能会删除掉队的设备。这一阶段也是许多其他技术的集成点,这些技术将在后面讨论,可能包括用于增强隐私的安全聚合、用于提高通信效率而对聚合进行的有损压缩,以及针对差分隐私的噪声添加和更新裁剪。
  • 模型更新:服务器基于从参与当前轮次的客户端计算出的聚合更新,在本地更新共享模型。

客户机计算、聚合和模型更新阶段的分离并不是联邦学习的严格要求,但它确实排除了某些算法类,例如异步SGD,即在使用其他客户机的更新进行任何聚合之前,每个客户机的更新都立即应用于模型。这种异步方法可能会简化系统设计的某些方面,而且从优化角度来看也是有益的。

然而,上述训练过程在将不同研究方向分开考虑时具有很大的优势:压缩、差分隐私和安全多方计算的进步可以用于基础操作,如通过去中心化更新的方法计算和或均值,然后由任意优化或分析算法组合,只要这些算法以聚合操作的形式表示即可。

值得强调的是,联邦学习的训练过程不应该影响用户体验。首先,如上所述,尽管模型参数通常会在每一轮联邦训练的广播阶段被发送到一些设备上,但这些模型只是训练过程中的一部分,不用于向用户显示实时预测。这是至关重要的,因为训练ML模型是具有挑战性的,而且一个超参数的错误配置可能产生一个做出错误预测的模型。相反,用户可见的模型使用被推迟到模型生命周期的第6步“部署”中的阶段性推出过程中。

其次,训练本身是对用户不可见的,如在客户端选择步骤中描述的那样,训练不会使设备变慢或耗尽电池,因为它只在设备空闲和连接电源时执行。然而,这些限制所带来的有限可用性直接导致开放式的研究挑战,如半循环数据可用性(Semi-Cyclic Data Availability)和客户端选择中可能存在的偏见。


03 联邦学习的分类

根据样本和特征的分布方式不同,我们可以将联邦学习划分为两类:横向联邦学习(Horizontal Federated Learning,HFL)和纵向联邦学习(Vertical Federated Learning,VFL)。现在假设有两个参与方的联邦学习场景,图1-3和图1-4分别是两种联邦学习的图示定义。

▲图1-3横向联邦学习(按样本划分的联邦学习)

▲图1-4纵向联邦学习(按特征划分的联邦学习)

横向联邦学习适合联邦学习中各参与方所拥有的数据有重叠的特征,即参与方之间的数据特征是对齐的,但是各参与方所拥有的数据样本是不同的。

这种横向联邦学习类似于在矩阵(表格)数据中将数据横向(水平)划分,因此我们也把横向联邦学习称为按样本划分的联邦学习(Sample-Partitioned Federated Learning)或者样本分布的联邦学习(Sample-Distributed Federated Learning)。

与横向联邦学习不同,纵向联邦学习则适合联邦学习中各参与方所拥有的数据有重叠样本,即参与方之间的数据样本是对齐的,但是各参与方所拥有的数据特征是不同的。

这种纵向联邦学习类似于在矩阵(表格)数据中将数据纵向(垂直)划分,因此我们也把纵向联邦学习称为按特征划分的联邦学习(Feature-Partitioned Federated Learning)或者特征分布的联邦学习(Feature-Distributed  Federated Learning)。

研究者提出的分割学习(Split Learning)即在客户端和服务器端分割深度神经网络模型的运算操作,并在纵向划分数据上进行学习,可以看作纵向联邦学习的一种特殊形式。

例如,当参与联邦学习的两个参与方是服务于不同区域的商业银行时,它们可能有来自各自区域的不同的用户组,它们的用户群体间的交集非常小。然而,它们之间的业务非常相似,所以特征空间是相同的。因此,这两家银行就可以通过横向联邦学习来协同地训练一个机器学习模型。

如果是同一城市的两个不同公司:一个是银行,另一个是电子商务公司,它们的用户集合很可能包含该地区的大部分居民,所以它们的用户群体间的交集很大。

然而,银行记录了用户的收支行为和信用评级,电子商务公司保留了用户的浏览和购买历史,两者的特征空间差异很大。现在假设我们希望双方都有一个基于用户和产品信息的产品购买预测模型。纵向联邦学习是将这些不同的特征聚合起来,并在保护隐私的情况下计算训练损失和梯度,从而协同建立一个包含双方数据的模型。

换句话说,纵向联邦学习倾向于跨行业参与方之间的协同学习,横向联邦学习一般是同一行业的各参与者协同学习。

本文摘编自《联邦学习:算法详解与系统实现》(ISBN:978-7-111-70349-5),经出版方授权发布。

延伸阅读《联邦学习:算法详解与系统实现》点击上图了解及购买
转载请联系微信:DoctorData
推荐语:本书首先介绍联邦学习的定义和发展历史,按类别介绍联邦学习算法和发展现状,介绍联邦学习的应用场景,以及相关安全机器学习的技术。然后我们将介绍新的最前沿的联邦学习算法,用京东数科系统作为实例,对联邦学习系统构建和实现进行讲解。最后我们将介绍京东数科自研的基于区块链的联邦学习技术。
关于作者:薄列峰京东科技集团副总裁、硅谷研发部负责人。曾担任包括Neu-rIPS、CVPR、ICCV、ECCV、AAAI、SDM等在内的多个顶级人工智能会议程序委员会委员。在国际顶级会议和期刊上合计发表论文80余篇,论文被引用10186次,H指数44。其博士学位论文荣获国内百篇优秀博士论文奖,RGB-D物体识别论文荣获机器人领域学术会议ICRA最佳计算机视觉论文奖。

黄恒数据、机器学习、人工智能等领域的国际学术带头人,美国匹兹堡大学电子及计算机工程系杰出讲座终身教授,AIMBE Fellow。作为会议程序主席或主席团成员,组织了超过20个国际学术会议。在国际顶级会议和期刊上发表了超过220篇文章,文章引用超过18000次,作为项目负责人领导了超过20个国际领先的科研项目。

顾松庠计算机博士,京东科技联邦学习部负责人。对机器学习算法和大规模并行系统有深入研究,曾在美国FDA任高级机器学习及统计科学家,建设放射成像医疗仪器的评价体系;先后加入 WalmartLabs和Linkedln公司,负责机器学习平台架构设计。2018年加入京东科技,并带领多个团队先后建设了智能客服、知识图谱和联邦学习系统。

陈彦卿京东技术总监,毕业于北京大学,并在纽约州立大学石溪分校获得计算机博士学位。作为排头兵投身联邦学习领域,探究加密信息的合理应用,坚信面向隐私保护的机器学习技术将引领未来。



划重点👇


干货直达👇


更多精彩👇

在公众号对话框输入以下关键词查看更多优质内容!
读书 | 书单 | 干货 讲明白 | 神操作 | 手把手大数据 | 云计算 | 数据库 | Python | 爬虫 | 可视化AI | 人工智能 | 机器学习 | 深度学习 | NLP5G | 中台 | 用户画像 数学 | 算法 数字孪生
据统计,99%的大咖都关注了这个公众号👇

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存