本人是学生党,同时也是小菜鸡一枚,撞运气有机会能够给老师当项目助理,在这个过程中肯定会学到一些有趣的知识,就在此平台上记录一下,在知识点方面有不对的还请各位指正。
What(什么是联邦学习?)
联邦学习(Federated Learning)是一种新兴的人工智能基础技术,在 2016 年由谷歌最先提出,原本用于解决安卓手机终端用户在本地更新模型的问题,其设计目标是在保障大数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下,在多参与方或多计算结点之间开展高效率的机器学习。其中,联邦学习可使用的机器学习算法不局限于神经网络,还包括随机森林等重要算法。联邦学习有望成为下一代人工智能协同算法和协作网络的基础。
举个例子,?假设有两家公司 A 和 B 有不同的数据。例如,公司 A 拥有用
户个人资料数据; B 公司有产品特征数据和标签数据。但是两家公司不能粗暴地结合双方的数据,因为原始的数据提供者,他们的各自的用户,不同意这样做。现在的问题是如何为 A 和 B 建立更高质量
的模型。但是,因为数据不完整(例如,A 缺少标签数据,B 缺乏特征数据),
或者数据不足(数据量不足)建立一个好的模型),可能无法建立每一端的模型
或结果可能不令人满意。
,联邦学习的目的是解决这个问题:它旨在构建跨组织的模型,同时每个组织的个人数据保持在其本地环境中,并且模型参数在联合系统中的加密机制下交换。也就是说,构建虚拟共享模型而不违反数据隐私法规。此虚拟模型与通过将所有数据放在一起构建的模型具有相同的性能。但是在构建虚拟模型时,数据本身不会移动,也不会泄露隐私或影响数据规范。通过这种方式,构建的模型仅在其各自的区域中服务于本地任务。在这种联邦机制下,每个参与者的身份和地位是相同的,联邦制度帮助每个人建立“共同财富”战略,这就是为什么这个系统被称为“联邦学习”。
定义:
多个数据所有者????,i = 1 ... N,他们都希望通过合并各自的数据来训练机器学习模型????。传统方法是将所有数据放在一起并使用 D = {Di,i = 1 ... N来训练模型????????。但是,由于隐私和数据安全等法律问题,无法实施此解决方案。要解决这个问题我们就可以使用联邦学习。联邦学习是一个学习过程,,数据所有者协作训练模型??并在此过程中任何数据所有者????不公开其数据????。
联邦学习的分类:
在实际中,孤岛数据具有不同分布的特点,根据这些特点,我们提出了相对应的联邦学习方案。
考虑有多个数据拥有方,每个数据拥有方各自所持有的数据集 Di 可以用一个矩阵来表示。矩阵的每一行代表一个用户,每一列代表一种用户特征。某些数据集可能还包含标签数据。如果要对用户行为建立预测模型,就必须有标签数据。我们把用户特征叫做 X,把标签特征叫做 Y。比如,在金融领域,用户的信用是需要被预测的标签 Y;在营销领域,标签是用户的购买愿望 Y;在教育领域,标签则是学生掌握知识的程度等。用户特征 X 加标签 Y 构成了完整的训练数据 (X, Y)。但是,在现实中,往往会遇到这样的情况:各个数据集的用户不完全相同,或用户特征不完全相同。以包含两个数据拥有方的联邦学习为例,数据分布可以分为以下三种情况:
● 两个数据集的用户特征 (X1, X2, …) 重叠部分较大,而用户 (U1,U2, …) 重叠部分较小;
● 两个数据集的用户 (U1, U2, …) 重叠部分较大,而用户特征 (X1, X2, …) 重叠部分较小;
● 两个数据集的用户 (U1, U2, …) 与用户特征 (X1, X2, …) 重叠部分都比较小。
为了应对以上三种数据分布情况,我们把联邦学习分为横向联邦学习 (horizontal federated learning)、纵向联邦学习 (vertical federated learning) 与联邦迁移学习 (Federated Transfer Learning, FTL)(如下图)
横向联邦学习:在两个数据集的用户特征重叠较多,而用户重叠较少的情况下,我们把数据集按照横向(即用户维度)切分,并取出双方用户特征相同而用户不完全相同的那部分数据进行训练。这种方法叫做横向联邦学习。比如有两家不同地区的银行,它们的用户群体分别来自各自所在的地区,相互的交集很小。但是,它们的业务很相似,因此,记录的用户特征是相同的。此时,我们就可以使用横向联邦学习来构建联合模型。谷歌在 2016 年提出了一个针对安卓手机模型更新的数据联合建模方案:在单个用户使用安卓手机时,不断在本地更新模型参数并将参数上传到安卓云上,从而使特征维度相同的各数据拥有方建立联合模型。
纵向联邦学习:在两个数据集的用户重叠较多而用户特征重叠较少的情况下,我们把数据集按照纵向(即特征维度)切分,并取出双方用户相同而用户特征不完全相同的那部分数据进行训练。这种方法叫做纵向联邦学习。比如有两个不同的机构,一家是某地的银行,另一家是同一个地方的电商。它们的用户群体很有可能包含该地的大部分居民,因此用户的交集较大。但是,由于银行记录的都是用户的收支行为与信用评级,而电商则保有用户的浏览与购买历史,因此它们的用户特征交集较小。纵向联邦学习就是将这些不同特征在加密的状态下加以聚合,以增强模型能力。目前,逻辑回归模型、树型结构模型和神经网络模型等众多机器学习模型已经逐渐被证实能够建立在此联邦体系上。
迁移联邦学习:在两个数据集的用户与用户特征重叠都较少的情况下,我们不对数据进行切分,而利用迁移学习来克服数据或标签不足的情况。这种方法叫做联邦迁移学习。比如有两个不同机构,一家是位于中国的银行,另一家是位于美国的电商。由于受地域限制,这两家机构的用户群体交集很小。同时,由于机构类型的不同,二者的数据特征也只有小部分重合。在这种情况下,要想进行有效的联邦学习,就必须引入迁移学习,来解决单边数据规模小和标签样本少的问题,从而提升模型的效果。
联邦学习系统架构:
我们以包含两个数据拥有方(即企业 A 和 B)的场景为例介绍联邦学习的系统构架。该构架可扩展至包含多个数据拥有方的场景。假设企业 A 和 B 想联合训练一个机器学习模型,它们的业务系统分别拥有各自用户的相关数据。此外,企业 B 还拥有模型需要预测的标签数据。出于数据隐私保护和安全考虑,A 和 B 无法直接进行数据交换,此时就可以可使用联邦学习系统建立模型。联邦学习系统构架由三部分构成(如下图):
第一部分:加密样本对齐。由于两家企业的用户群体并非完全重合,系统利用基于加密的用户样本对齐技术,在 A 和 B 不公开各自数据的前提下确认双方的共有用户,并且不暴露不互相重叠的用户,以便联合这些用户的特征进行建模。
第二部分:加密模型训练。在确定共有用户群体后,就可以利用这些数据训练机器学习模型。为了保证训练过程中数据的保密性,需要借助第三方协作者 C 进行加密训练。以线性回归模型为例,训练过程可分为以下 4 步(如图 2(b) 所示):
● 第①步:协作者 C 把公钥分发给 A 和 B,用以对训练过程中需要交换的数据进行加密。
● 第②步:A 和 B 之间以加密形式交互用于计算梯度的中间结果。
● 第③步:A 和 B 分别基于加密的梯度值进行计算,同时 B 根据其标签数据计算损失,并把结果汇总给 C。C 通过汇总结果计算总梯度值并将其解密。
● 第④步:C 将解密后的梯度分别回传给 A 和 B,A 和 B 根据梯度更新各自模型的参数。
迭代上述步骤直至损失函数收敛,这样就完成了整个训练过程。在样本对齐及模型训练过程中,A 和 B 各自的数据均保留在本地,且训练中的数据交互也不会导致数据隐私泄露。因此,双方在联邦学习的帮助下得以实现合作训练模型。
第三部分:效果激励。联邦学习的一大特点就是它解决了为什么不同机构要加入联邦共同建模的问题,即建立模型以后模型的效果会在实际应用中表现出来,并记录在永久数据记录机制(如区块链)上。提供数据多的机构所获得的模型效果会更好,模型效果取决于数据提供方对自己和他人的贡献。这些模型的效果在联邦机制上会分发给各个机构反馈,并继续激励更多机构加入这一数据联邦。
以上三部分的实施,既考虑了在多个机构间共同建模的隐私保护和效果,又考虑了以一个共识机制奖励贡献数据多的机构。所以,联邦学习是一个「闭环」的学习机制。
Why(为什么用联邦学习?)
随着大数据的发展,对数据隐私和安全的重视已成为全球趋势。每一次公开数据泄露都会引起媒体和公众的极大关注。例如,曾经Facebook 的数据泄露引发了各种各样的抗议活动。目前,各国正在加强对数据安全和隐私的保护。以欧盟在 2018 年 5 月 25 日开始实施的《通用数据保护条例》(General Data Protection Regulation, GDPR) 为例,GDPR 旨在保护用户的个人隐私和数据安全,它要求经营者用清晰、明确的语言来表述自己的用户协议,并且允许用户执行数据「被遗忘」的权利,即用户可以要求经营者删除其个人数据并且停止利用其数据进行建模,而违背该条例的企业将会面临巨额罚款。同样,中国在 2017 年起实施的《中华人民共和国网络安全法》和《中华人民共和国民法总则》也指出,网络运营者不得泄露、篡改、毁坏其收集的个人信息,并且与第三方进行数据交易时需确保拟定的合同明确约定拟交易数据的范围和数据保护义务。这些法规的建立在不同程度上对人工智能传统的数据处理模式提出了新的挑战。
在人工智能领域,传统的数据处理模式往往是一方收集数据,再转移到另一方进行处理、清洗并建模,最后把模型卖给第三方。但随着法规完善和监控愈加严格,如果数据离开收集方或者用户不清楚模型的具体用途,运营者都可能会触犯法律。要解决此困境,传统的方法已经行不通了,两个公司简单地交换数据在很多包括 GDPR 的法规中也是不允许的。所以,我们需要把研究的重点转移到如何解决大数据困境,即数据孤岛的问题上来。我们认为,下一步人工智能的重点会从以 AI 基础算法为中心的导向,转移到以保障安全隐私的大数据架构为中心的算法导向上。我们提出了一个可能的解决方案,叫做联邦学习(federated learning)。
联邦学习优势:
l 数据隔离,数据不会泄露到外部,满足用户隐私保护和数据安全的需求;
l 能够保证模型质量无损,不会出现负迁移,保证联邦模型比割裂的独立模型效果好;
l 参与者地位对等,能够实现公平合作;
l 能够保证参与各方在保持独立性的情况下,进行信息与模型参数的加密交换,并同时获得成长。
这就是我们为什么需要使用联邦学习,联邦学习可以帮助我们解决传统人工智能上的困难,保障数据的安全隐私。
How(怎样应用联邦学习?)
应用实例:智能诊断
智能诊断是将医学和人工智能结合在一起的热门话题。然而,现有的智能诊
断系统远非真正的“智能”。在这一部分中,我们将以 IBM Watson 为例讨论当
前智能诊断系统的不足,并提出一个可以在联邦学习的帮助下克服这些缺点的
概念。
IBM 的超级计算机系统 Watson 是智能诊断领域最着名的应用之一。在医药行业,Watson 被中国,美国和许多其他国家的医疗机构用于自动医疗诊断,尤其是癌症。然而,Watson 最近因为暴露的文件显示出可能导致死亡的误诊而遭受了人们的质疑。那么为什么沃森会做出这样的误诊呢?我们发现使用的训练数据 Watson 应该包含疾病,基因序列,医学报告,检查结果和学术论文的特征。但实际上,没有稳定的数据源,大多数数据都面临标签丢失的问题。有人认为10,000 名专家需要 10 年才能收集到有效的数据集。不足数据和标签导致机器学习模型性能不佳,成为智能诊断的瓶颈。 人们会问,“如何突破瓶颈呢?”我们假设世界各地的医疗机构通过分享他们的数据而团结在一起,然后他们将拥有一个足够大的数据集,以便比以前更 好地训练模型。将联合学习与转学习相结合对于实现这一目标至关重要。可行性在于以下两个原因。首先,来自医疗机构的数据必须对隐私和安全问题敏感,残酷的数据交换是不可的,而联合学习允许培训模型而不直接共享数据。其次,标签丢失问题严重,可以应用转移学习来填补缺失的标签,从而可以扩大数据集,大大提高模型的性能。因此,联合转移学习将在智能诊断系统的开发中发挥重要作用。如果所有医疗机构能够在未来建立数据联盟,人类的医疗水平将进入一个新的阶段。
联邦学习和行业数据联盟:
联邦学习不仅是技术标准,也是商业模式。当人们意识到大数据的影响时,他们首先想到的是将数据聚合在一起,通过远程处理器计算模型,然后下载结果以供进一步使用。云计算在这样的需求下产生。然而,随着数据隐私和数据安全性日益增加的重要性以及公司利润与其数据之间的密切关系,云计算模型受到了挑战。
联邦学习的商业模式为大数据的使用提供了一个新的范式。当各个机构的数据不足以建立理想的预测模型时,联邦学习机制使得参与的机构和企业可以在不交换数据的情况下共同建模。如果利用区块链等共识机制,联邦学习还可以建立合理的利益分配机制,使得数据拥有方,无论大小,都有动力加入数据联邦,并获得应有的利益(如图 3 所示)。我们认为,建立数据联邦的商业机制要和联邦学习的技术机制一同开展,推动建立各种行业的联邦学习标准和规范,使得联邦学习尽快落地。
结论和前景
近年来,数据的隔离和对数据隐私的重视正成为人工智能的下一个挑战,但是联邦学习给我们带来了新的希望。 它可以为多个企业建立统一的模型,同时保护本地数据,使企业能够以数据安全为前提共赢。 本文概述了联邦学习的基本概念,体系结构和技术,并讨论了它在各种应用中的潜力。 预计在不久的将来,联邦 学习将打破行业之间的障碍,建立一个可以与安全共享数据和知识的社区,并根据每个参与者的贡献公平分配利益。 人工智能的奖励终将带到我们生活的每个角落。
原文地址:https://www.cnblogs.com/pangzx/p/10990323.html