深入理解联邦学习——隐私集合求交(Private Set Intersection,PSI):基础知识

分类目录:《深入理解联邦学习》总目录


隐私集合求交(Private Set Intersection,PSI)是纵向联邦学习中的关键前置步骤,用于在多家厂商联合计算前,找到多家共有的数据样本,并且不暴露每家厂商独有的样本。

假设甲、乙两个公司期望联合起来训练一个机器学习模型来预测一个用户是否对科技类产品感兴趣。甲公司有A、B、C三个用户的购买历史数据,而乙公司有B、C、D三个用户的信息流文章浏览数据。使用纵向联邦学习,在甲公司和乙公司都不泄露各自的用户数据前提下,我们可以整合B和C两个用户的甲公司和乙公司数据特征,共同训练一个预测模型,由于使用到了两类数据进行训练,理论上来说得到的结果应该比甲公司或者乙公司各自训练出的模型更准确。

由于模型训练需要同时使用甲公司和乙公司的数据,且用户A仅仅有甲公司的数据,没有乙公司的数据,因此用户A无法做为训练样本使用。同样的,乙公司的用户D也无法参与训练。因此在纵向联邦学习之前,双方需要计算出共有的样本,也就是B和C两个用户,后续的计算都围绕B和C两人进行。而隐私集合求交(Private Set Intersection,PSI)就是双方通过加密计算,得到B和C两人这个集合,同时不暴露各自的原始集合的方法。

隐私集合求交是指参与双方在不泄露任何额外信息的情况下,得到双方持有数据的交集,即隐私集合求交:

  • 有许多个参与方,每个参与方持有各自的隐私数据
  • 希望通过协议求到所有数据的交集
  • 不泄漏除交集外的任何信息

在这里,额外的信息指的是除了双方的数据交集以外的任何信息。隐私集合求交在现实场景中非常有用,比如在纵向联邦学习中做数据对齐,或是在社交软件中,通过通讯录做好友发现。因此,一个安全、快速的隐私集合求交的算法是十分重要的。

我们可以用一种非常直观的方法来进行隐私集合求交,也就是朴素哈希的方法。即参与双方甲和乙,使用同一个哈希函数 H H H,分别计算各自数据的哈希值,再将哈希过的数据互相发送给对方就能求得交集了。这种方法看起来非常简单快速,但它是不安全的,有可能会泄露额外的信息。如果参与双方需要求交集的数据本身,数据空间比较小,比如说手机号、身份证号等,那么对于一个恶意的参与方,就可以通过哈希碰撞的方式,在有限的时间内,碰撞出对方传过来的哈希值,从而窃取到额外的信息。因此,我们需要设计出更加安全的隐私集合求交的方法。

当今理论中已经有了很多种不同的方法来实现隐私集合求交,比如基于Diffie-Hellman密钥交换的方法、基于不经意传输的方法等等。而截至目前,最快速的隐私集合求交方法,是基于不经意传输的。在后面的文章中,我们将介绍隐私集合求交的各种算法。

参考文献:
[1] 杨强, 刘洋, 程勇, 康焱, 陈天健, 于涵. 联邦学习[M]. 电子工业出版社, 2020
[2] 微众银行, FedAI. 联邦学习白皮书V2.0. 腾讯研究院等, 2021

猜你喜欢

转载自blog.csdn.net/hy592070616/article/details/132815425
今日推荐