随着人工智能时代的到来,大数据是人工智能产业化中不可或缺的基石。然而,我们目前正面临着数据隐私保护和数据孤岛这两方面的难题,这限制了AI智能产业化的发展。
在数据隐私保护方面,重视数据隐私和安全已成为世界性的趋势,去年5月欧盟“数据隐私保护条例”(General Data Protection Regulation,GDPR)即是对人工智能传统的数据处理模式提出了新的挑战。再加上人工智能训练时所需要的数据会涉及到很多领域,不同的公司之间,甚至是同一个公司的不同部门之间数据无法自由流通,这就形成了一个个“数据孤岛”。
如何在满足数据隐私、安全和监管要求的前提下,让人工智能系统能够更加高效、准确的共同使用各自的数据,是当前人工智能发展的一个重要课题。联邦学习(Federated Learning)是一种新兴的人工智能基础技术,在 2016 年由谷歌最先提出;此后,国际人工智能专家、微众银行首席人工智能官杨强教授的带领下首次提出了“联邦迁移学习”,并通过领衔联邦学习国际标准(IEEE标准)制定、开源自研联邦学习框架Federated AI Technology Enabler(简称FATE)等来推动联邦学习技术在行业中的落地。FATE是全球首个工业级别联邦学习框架,可以让企业和机构在保护数据安全和数据隐私的前提下进行AI协作。这些举措让联邦学习有望成为下一代人工智能协同算法和协作网络的基础。
在本文中,星云Clustar团队提出了一个名为FedMF的联邦学习环境下的安全矩阵分解框架,并使用真实的数据集进行测试,测试结果验证了FedMF的可行性。此外,星云Clustar的团队还讨论了FedMF在未来研究中应用的挑战。
本文第一作者为香港科技大学计算机博士在读、星云Clustar算法工程师柴迪;北京大学助理教授、博士导师、星云Clustar首席AI科学家王乐业(按姓氏拼音排序);第二作者为香港科技大学教授、星云Clustar创始人陈凯;第三作者为香港科技大学教授、微众银行首席人工智能官杨强。本文已发表在IJCAI 2019 Federated Machine Learning Workshop,IJCAI国际人工智能联合会议是全球人工智能领域最权威的学术会议。
本文由星云Clustar向本专栏投稿,以下是《Secure Federated Matrix Factorization 》的论文解读:
本文围绕6个角度来讲述这篇论文,研究意义、先行概念、分布式矩阵分解、联邦矩阵分解、实验评估结果、下一步研究方向。
研究意义
以General Data Protection Regulation为代表,政府开始出台各类规章和法律条文,用来加强对隐私性数据的保护力度,学院机构以及工业企业也因此开始关注隐私保护机器学习这一技术领域。目前推荐系统是一个广受关注的研究课题,矩阵分解是常见的技术手段。然而,传统的矩阵分解推荐系统,会泄漏用户的评分信息、特征向量,可能大家会觉得泄漏这两种信息不重要,但是通过这两种信息,恶意攻击者可以进行inference attack,也就是从这两种信息推断用户的性别、年龄、住址,而后面的这些信息都属于非常隐私的数据。
目前针对这类问题,主要有2中解决方案:Obfuscation-based和Full-Homomorphic encryption-based。前者主要采用的方法是通过将用户的原始偏好数据进行混淆后,再发送到中央服务器,以实现某种程度上的隐私保护。显而易见的是,这种方法会导致预测精度的损失。为了保证预测精度,Full-Homomorphic encryption-based方法引入了一个第三方的私密服务提供商,然而这种方法会增大系统实现难度,同时这类私密服务提供商的可靠性难以保障,一旦他们与推荐服务节点存在不正当合作关系,那对用户来说,任何信息都毫无隐私可言。
先行概念
在正式介绍我们的方法前,首先需要了解2个概念:
Horizontal Federated Learning:用户的特征空间相同,然而用户群体不同。这类问题下,我们一般规定,用户是诚实的,系统的目标是保护用户的隐私,免于受到诚实但好奇的服务器的侵犯。
Homomorphic Encryption:一种仅享有数据处理权,但不具备数据访问权的方法。换句话说,这种方法允许任何第三方对已经加密过的数据进行运算,而不可以在运算前对数据进行解密。
在矩阵分解推荐系统中,我们通常会拿到一个稀缺的用户评分矩阵 X,而我们的任务是通过计算出user profile 矩阵U和item profile矩阵V,来将X中的空缺信息补全。一般来说,SGD(Stochastic Gradient Descent,随机梯度下降)是用来解决矩阵分解的主流方法。具体loss function和updating formula的定义如图所示。
分布式矩阵分解
显而易见的,想要保护用户的隐私,就是将服务器与用户的数据进行隔离,避免服务器对用户数据的直接访问,所以我们希望用户可以把自己的数据保留在本地。基于此,我们设计了一个分布式的矩阵分解系统,在这个系统中,所有的评分数据都掌握在用户手中。一个全局的item profile矩阵为所有用户提供一个本地的update,同时用户将会把gradient传回给服务器,用来更新item profile。总结来说,服务器只会收到用户的gradient,不会收到用户的任何评分信息。这样看来,我们的任务目标就实现了,但是让我们再思考一个问题,传输gradient就真的能保障用户隐私了吗?
如果已知任意2个连续step的gradients,已知user profile的更新公式,我们可以求得一个多元高阶方程组7、8、9。求解这个方程组的过程比较复杂,我们在这里不对求解过程做过多描述,仅仅把结果展示在途中。在等式24中,u是唯一的未知量,并且我们已知u一定存在一个实数解。我们可以利用一些迭代方法(比如牛顿法)来求得一个数值解。当我们算出u,评分信息r就可以利用等式25求解出来。总结来说,我们刚刚证明了在矩阵分解场景下,gradient会泄漏用户的信息。那么我们又该怎么解决这个问题呢?
联邦矩阵分解
我们的解决方案是对系统中加入homomorphic encryption,也就是联邦矩阵分解系统。假设用户和服务器已经实现了对密钥的生成和分发,其中服务器拥有公钥,用户拥有彼此相同的私钥,那么整个系统就可以分为4个步骤:
第一步,对参数进行初始化,参数包括item profile矩阵和user profile矩阵,与此同时服务器对item profile使用公钥进行加密;
第二步,服务器提供加密后的item profile矩阵,供所有的用户来进行下载;
第三步,用户进行本地的update,这一步中可以拆分成若干个环节:用户首先下载加密后的item profile矩阵,并将其解密成一个plaintext V,然后用户会进行本地的update并计算gradient,最后用户会对gradient进行加密并且将ciphertext发给服务器;
接下来让我们回到整体的架构,在第四步,服务器在接收到加密后的gradient之后,会根据附加的homomorphic encryption对item profile矩阵进行更新,请注意,服务器会提供给用户最新一次加密后的item profile用作下载,此时我们就需要再一次回到第二步。
整个系统通过重复第二、三、四步,会实现整个训练过程。
一般来说,用户的评价信息由一个系数矩阵组成,这也就意味着一个用户的评价其实是非常有限的。因此,两个不同的设置在我们的系统中是implemented。这两个设置会遵循系统的各个环节然而会在用户的上传环节由些许的不同。其中一种设置叫做fulltext,在这种设置中,用户会对所有的item都会上传gradient,当用户对某一个item不做出评价时,gradient为0;另外一种设置叫做parttext,用户只会将评价后的item的gradient进行上传。这两种方式有利有弊,parttext会泄漏哪些item是用户打过分的,同时在计算效率上表现更好,而fulltext不会泄漏用户的信息,但是会需要更多的计算耗时。
实验评估结果
为了测试我们设计的系统的可行性,我们使用了一个MovieLens上一个真实的电影评分数据集,这个数据集包括了100K个评分信息,由610个用户对9724个电影的打分组成。这个数据集也被用于很多其他的矩阵分解研究工作中。
在图中的参数配置下,表1显示了每次迭代过程中,使用parttext方法和fulltext方法的耗时(一次迭代,是指所有610名用户上传的gradient被用来更新一次item profile矩阵)。无论是parttext还是fulltext,当item数量不是很多时,这两种方法的耗时都比较少,同时我们可以观察到,耗时会随着item数量的增加而增长。与fulltext相比,parttext会占用更少的时间,然而parttext会泄漏一部分信息。值得一提的是,parttext会比fulltext提升了20倍的效率。
为了验证我们的系统不牺牲任何准确度,我们在一个小规模的数据集上做了一系列实验。我们采用RMSE来作为度量指标,参考图4和表2,标准矩阵分解和联邦矩阵分解的评估结果是非常相近的,区别不足0.3%。如此小的区别是由于在联邦矩阵分解中,为了简化implementation,服务器会对itemvector进行更新,仅当所有的用户都上传了他们的gradient。在一般的矩阵分解中,服务器会更新itemvector当任何用户提供了gradient。如果这些设置都相同的话,评估结果就会完全一致。
图2和3显示了随着item数量的变化,用户和服务器的更新时间的比例的变化。从图可见,约95%的时间用于了服务器的更新,这就意味着如果我们增加了服务器的算力,或者提升homomorphic encryption方法,以降低密文计算的复杂度,则计算效率会有显著提升。这就是我们下一步要做的主要工作。
下一步研究方向
最后,想和大家介绍一下我们未来研究工作的3个主要方向:
更加有效的homomorphic encryption。如上文提到的,约95%的时间都花在服务器update上,其中计算主要用于密文。如果我们可以提升homomorphic encryption的效率,我们的系统表现会大幅提升。
在fulltext和parttext中。实验已经显示parttext比fulltext效率更高,但是parttext会暴露用户对哪些item进行了评分。这个信息,即使没有确切的评分,可能依旧会泄漏用户敏感信息[Yang et al., 2016]。或许我们可以要求用户上传更多的gradient,而不仅仅是评分后的items,但不是全部的items,这样做可以相比较fulltext增加系统效率,同时不会泄漏评分的item。
更多安全定义。目前我们用了经典的horizontal联邦学习安全定义,这个定义架设了参与方的诚实性,以及服务器的honest-but-curious。接下来我们可以去探索更具挑战的安全定义,比如如何去建立一个安全的系统以应对honest-but-curious的服务器,同时有一些用户是恶意的,甚至有一些参与方会与server联合谋策。
以上就是本篇论文的主要内容,感谢您的阅读。
来源:freebuf.com 2019-09-30 10:49:11 by: 赵逸禅
请登录后发表评论
注册