本文将介绍当前人工智能面临的挑战以及联邦学习可以作为一个有效的解决方案,并介绍联邦学习的分类和发展。

人工智能面临的挑战

在过去的十年,我们见证了机器学习(Machine Learning,ML)在人工智能(Artificial Intelligence,AI)应用领域中的迅猛发展,如计算机视觉,自然语言处理,推荐系统。近些年的产品,如AlphaGo,ChatGpt已经深深地影响着人类的生活。这些技术的成功,尤其是深度学习,都是建立在大量的数据基础上的。通过使用这些数据,深度学习系统能够在许多领域执行人类难以完成的任务。

随着社会的不断发展,人们逐渐意识到主权的重要性,也会刻意选择去保护自己的隐私,这带来这样的意识问题:什么人或者组织能够拥有和使用数据建立人工智能技术应用的权力。在一般的产品服务中,商家都会要求获取产品数据和购买者记录的使用权,这种请求是不明确的。最近更是有许多互联网企业由于泄露用户数据而被重罚,垃圾邮件制作者和不法的数据交易也常常被曝光和处罚。例如Meta数据泄露拼多多用户数据非法收集

在法律层面,法规制定者和监管机构正在考虑出台新的法律法规来规范数据的管理和使用。经典的例子是2018年欧盟开始执行的GDPR,此外,中国的《中华人民共和国民法通则》和《中华人民共和国网络安全法》同样对数据的收集和处理提出了严格的要求。

在这样的环境下,我们在不同组织之间收集和分享数据会变得越来越困难。某些高度敏感的数据(如医疗数据)的拥有者会极力反对无限制地计算和使用这些数据。在这种情况下,数据只保存在个人手中,往往会出现数据孤岛的现象。行业竞争,用户隐私,数据安全,复杂的管理规程,都会对数据的使用带来困难。

如何在遵守更加严格的,新的隐私保护条例的前提下,解决数据碎片化和数据隔离的问题,是当前人工智能研究者和实践者面临的首要挑战。倘若不能及解决,将会导致新一轮的人工智能的寒冬。

人工智能产业面临的另一个挑战:各方协同分享处理大数据的的益处并不明显。人们对数据失去掌控的担忧,以及对于增益分配效果的不透明,加剧了所谓数据碎片化和孤岛分布的严重性。

随着物联网和边缘计算的兴起,大数据往往不会拘泥于单一的整体,而是分布在许多方面。对于自动驾驶汽车,每辆汽车必须能够在本地使用机器学习模型处理大量信息,同时需要与全球汽车协同工作。如何安全且有效地实现模型在多个地点间的更新和共享,是当前各类计算方法所面临的挑战

联邦学习概述

由于数据孤岛的出现,正阻碍着训练人工智能模型所必需的大数据的使用,所以人们开始寻求:不必将所有数据集中到一个中心存储点就能够训练机器学习模型。

一种可行的方法是由每一个拥有数据源的组织训练一个模型,之后让各个组织在各自的模型上彼此交流沟通,最终通过模型聚合得到一个全局模型。为了确保用户隐私和数据安全,各组织间交换模型信息的过程将会被精心地设计,使得没有组织能够猜测到其他任何组织的隐私数据内容。这便是联邦机器学习(Fedrated machine learning)或者联邦学习(Fedrated learning)的思想。

谷歌的H.B M等人通过使用边缘服务器架构,将联邦学习用于智能手机上的语言预测模型更新,Communication-Efficient Learning of Deep Networks from Decentralized DataFederated learning of deep networks using model averaging。通过联邦学习,每台移动设备上的模型将会被加密并上传到云端。最终,所有的加密模型都会被聚合到一个加密的全局模型中。

谷歌的联邦学习很好地展示了企业对消费者(Business to Customer,B2C)的一个应用案例,除此之外,还应该支持企业对企业(Business to Business,B2B)的应用。

联邦学习的定义

联邦学习旨在建立一个基于分布数据集的联邦学习模型。联邦学习包括两个过程,分别是模型训练模型推理。在模型训练的过程中,模型相关的信息能够在各方之间交换(或者是以加密形式交换),但数据不能。这一交换不会暴露每个站点上数据的任何受保护的隐私部分。当推理时,模型可以应用于新的数据实例。

联邦学习是一种具有以下特征的用来建立机器学习模型的算法框架。其中,机器学习模型是指将某一方的数据实例映射到预测结果输出的函数。

  • 有两个或以上的联邦学习参与方协作构建一个共享的机器学习模型。每一个参与方都拥有若干能够用来训练模型的训练数据。
  • 在联邦学习模型的训练过程中,每一个参与方拥有的数据都不会离开该参与方。
  • 联邦学习模型相关的信息能够以加密方式在各方之间进行传输和交换,并且需要保证任何一个参与方都不能推测出其他方的原始数据。
  • 联邦学习模型的性能要能够充分逼近理想模型的性能。

设有NN位参与方{Fi}i=1N\{F_i\}_{i=1}^N协作通过使用各自的训练数据集{Di}i=1N\{D_i\}_{i=1}^N来训练机器学习模型。传统的方法是将所有的数据{Di}i=1N\{D_i\}_{i=1}^N收集起来并存储在一个地方训练得到一个机器学习模型MSUMM_{SUM},这样会导致任何一方FiF_i的训练数据会直接暴露出来DiD_i。联邦学习是一种不需要收集各参与方所有的数据{Di}i=1N\{D_i\}_{i=1}^N便能协作的训练一个模型MFEDM_{FED}的机器学习过程。设vSUMv_{SUM}vFEDv_{FED}分别为集中型模型MSUMM_{SUM}和联邦型模型MFEDM{FED}的性能量度,设δ\delta为一个非负实数,在满足以下条件时,联邦学习模型MFEDM_{FED}具有δ\delta的性能损失。

vSUMvFED<δv_{SUM}-v_{FED}<\delta

该公式说明了:如果使用安全的联邦学习在分布式数据源上构建机器学习模型,这个模型在未来数据上的性能近似于把所有数据集中到一个地方训练所得到的模型的性能。但实际上,我们允许联邦学习模型在性能上比集中训练的模型稍差。

根据应用场景的不同,联邦学习系统可能设计也可能不涉及中央协调方。

图一展示了一种包括协调方的联邦学习架构示例。

img

图一:联邦学习系统示例:客户端-服务器架构

在此场景中,协调方是一台聚合服务器,可以将初始模型发送给各参与方A~C。参与方分别使用各自的数据集训练该模型,并将模型权重更新发送到聚合服务器。之后,聚合服务器将从参与方处接收到的模型更新聚合起来,并将聚合后的模型更新发回给参与方。这一过程会反复进行,直至模型收敛。这种方法不仅保护了用户的隐私和数据安全,还减少了发送原始数据所带来的通信开销。

联邦学习架构也能被设计为对等(P2P)网络的方式,不需要协调方。这进一步确保了安全,因为各方无需借助第三方便可以直接通信,如图二所示。

img

图二:联邦学习系统示例:对等架构

这种体系结构的优点时=是提高了安全性,但可能需要更多的计算操作来对消息内容进行加密和解密。

联邦学习的分类

设矩阵DiD_i表示第ii个参与方的数据,设矩阵DiD_i的每一行表示一个数据样本,每一列表示一个具体的数据特征(figure)。

我们将特征空间设为χ\chi,数据标签(label)空间设为yy,并用II表示数据样本ID空间,例如:在教育领域,数据标签可以是学生的成绩分数。三者组成了一个训练数据集(I,χ,y)(I,\chi,y)。不同的参与方拥有的数据的特征空间和样本IDID空间是不同的。根据分布情况的不同,我们将联邦学习划分为横向联邦学习(Horizontal Fedrated Learning,HFL),纵向联邦学习(Vertical Fedrated Learning,VFL)和联邦迁移学习(Fedrated Transfer Learning,VFL)

image-20230806183730725

图三:联邦学习划分

横向联邦学习适用于联邦学习的参与方的数据有重叠的数据特征,即数据特征在参与方之间是对齐的,但是参与方拥有的数据样本是不同的。它类似于在表格视图中将数据水平划分的情况。因此,我们将横向联邦学习称为按样本划分的联邦学习(Sample-Partitioned Fedrated learning)。

与横向联邦学习不同,纵向联邦学习适用于联邦学习参与方的训练数据有重叠的数据样本,即参与方之间的数据样本是对齐的,但是在数据特征上有所不同。它类似于数据在表格视图中将数据垂直划分的情况。因此,我们将纵向联邦学习称为按特征划分的联邦学习(Feature-Partitioned Fedrated learning)。

联邦迁移学习适用于参与方的数据样本和数据特征重叠都很少的情况。

例如,当两家位于不同地区的银行,他们重叠的用户可能很少,但是由于具有相似的商业模式都具有相同的特征,这意味着,两家银行的数据特征重叠部分较大,那么就可以通过横向联邦学习建立一个机器学习模型。

当两家公司(如银行和电子商务公司)提供不同的服务,但在客户群体上有非常大的交集时,它们可以在各自的不同特征空间上协作,为各自的到一个更好的机器学习模型。用户重叠部分较大,数据特征的重叠部分较小,则这两家公司可以协作地通过纵向联邦学习方式训练机器学习模型。

联邦学习的发展

在计算机科学和机器学习的发展史中,联邦学习的概念曾多次以不同的形式出现过,如:面向隐私保护的机器学习,协作式机器学习,联邦优化和面向隐私保护的数据分析。