富数科技安全计算首席专家卞阳:隐私计算江湖与联邦学习的「上帝视角」

近日,富数科技安全计算首席专家卞阳做客雷锋网公开课,以《隐私计算重构边界,联邦学习重新定义大数据》为题进行分享。

卞阳在课程中用武林各大门派做例子,详细分析了联邦学习和隐私计算安全部分的主要算法原理,以及联邦学习如何实现跨越数据要素边界,在供应链金融、联合营销、金融机构存客促活等具体场景中落地应用。

关注微信公众号  AI金融评论 ,在公众号聊天框回复“听课”,进群可收看本节课程视频回放。

以下为卞阳课程全场回顾和互动问答精选,雷锋网AI金融评论做了不影响原意的编辑:

感谢大家能在周五参加公开课。我叫卞阳,来自富数科技。

数据有多重要?早期的语音识别有这样一个情况:男声识别率很高,但女声识别率很低——因为(用于训练的)素材语料太少。

如果两家公司对比,算法水平高和数据量很多,哪家的人工智能会做得更好?一般是数据更多的那家,因为它可以不断优化算法。

今天主要和大家交流隐私计算、联邦学习,以及它们与数据、大数据的关系。 

隐私计算与联邦学习关系背后:AI与密码学的悖论?

现在人工智能处处可见,有观点说人工智能会定义业务边界,其实安全也有相同的特点。数字化时代如果没有安全,业务也很难展开。

安全和人工智能之间是何关系?未来若无智能,安全难以实现;若无安全可言,人工智能亦无用武之地。

从信息论的角度来看,人工智能和密码学颇为有趣,二者实为一对悖论。

人工智能是数据经过加工,提取其中信息,训练后变成知识。这是熵减的过程:熵越少,可用性就越高。

密码学正好相反:隐藏有用的信息,编码、打乱,变成另外一个空间的数据。这是信息熵增的过程,可用性越来越低。

富数科技安全计算首席专家卞阳:隐私计算江湖与联邦学习的「上帝视角」

但现在既想做安全,又想得到更强大的AI,得到更多的知识,如何是好?

如下图所示,原始数据处理后,变为脱敏数据,信息量减少。但这并不足够,还需要对中间数据进行加密——(这些步骤)都是隐私计算范围。

富数科技安全计算首席专家卞阳:隐私计算江湖与联邦学习的「上帝视角」

但这并没有结束,还需从中提取有价值的信息,引入联邦学习,提取更多知识。

以前联邦学习、人工智能和安全颇有些井水不犯河水的意思,互相关系不大。

2016年,欧盟制定GDPR,于2018年正式生效。而谷歌正是在2016年提出的联邦学习——这时,人工智能跟密码学的交集变多。

而当联邦学习逐渐成为热点,跟隐私计算的重合度就越来越高。

下一阶段,在完全数字化时代,(人工智能与安全)二者很可能越来越深度融合。比如信通院制定了多方安全计算的数据流通产品标准,听上去是安全相关,但也包含了机器学习。

联邦学习的框架,不可避免会与安全相关。信通院也在制定联邦学习的标准,当中也有不少关于安全的内容,于是变成了你中有我、我中有你的状态。

“联邦学习里的安全怎么做?”这是必然要讨论的问题。之前很多专家已分享联邦学习的算法原理,安全方面相对讲得不多,我们这次会侧重隐私计算方面来谈。

若以江湖门派类比,安全多方计算(MPC)是少林派:历史悠久,功力深厚,最早可以追溯到上世纪80年代,有秘密共享、传输混淆电路等一些非常强大的独门武器。

武当派可以对应到同态加密。武当派的特点是简洁、优雅,同态加密也类似:表达式清晰明了,实现起来却很复杂。真正要做到全同态其实很难。

后起之秀华山派,可信计算环境(TEE)。当然,TEE跟联邦学习关联度较低,但也不排除某些联邦学习解决方案能与TEE有所结合。

除此之外,还有像盲签名、隐私信息检索、零知识证明等这些相对更小的密码学协议分支,同样非常有用,好比泰山派峨眉派,它们共同组成了丰富多彩的隐私计算江湖。

富数科技安全计算首席专家卞阳:隐私计算江湖与联邦学习的「上帝视角」

「少林派」和它的三大「独门武器」

  • 秘密共享安全多方计算

共享这个词有点让人误解,它并不是把各自的秘密数据真的共享了,而是各自的秘密还是可以得到安全的保护,但可以一起去计算得到结果,这个结果是可以共享的。

秘密共享的安全协议里,有数据的提供方,另外还有计算方,当然计算方跟提供方可以合二为一。

对比一下秘密共享跟同态加密的差别:同态加密是由一方提供密钥,计算是在一个环境一方进行的。秘密共享叫安全多方,所以是在多方进行计算,有这样一个特点。

比如说提供方1有个数,以加法为例,提供方把数切片,有几个计算方就切成几片。切完之后有一片留在自己手上,不发给别人,其他片分发。实际怎么切片,也有很多方法,不是只有一个算法。

现在先理解切成多片,每一方也会拿到其他方的切片,拿到以后就在本地做计算,比如说x1+y1+z1,这就是一个加法,加起来形成新的等式。c1c2c3就属于中间结果,最后要求和,中间结果已经把各方的秘密混在一起了。

富数科技安全计算首席专家卞阳:隐私计算江湖与联邦学习的「上帝视角」

联邦学习的计算表达式里,往往有多方数据,听起来很复杂,但通过这个方式,实际上没有那么复杂。

当然,秘密共享有安全条件,即安全门限。n-1的安全性,但(两方的情况下)n-1=1,所以两方加法不存在安全模型,必须要多方。

但在联邦学习当中,很可能建模只有两方,这是否会出现一方推算另一方的情况?

从信息论熵增熵减的理论来看,(为了避免这种情况)表达式不能够太简单。好在机器学习计算往往是矩阵集合计算,这样复杂的表达式计算完会变成一个值,不可能由此反推原始数据。所以越复杂的计算,安全性越高。

光有加法不够,还需要有乘法,但乘法复杂度比加法更高,原理类似。

安全多方计算有两个优点:一是过程更加对等,不需要第三方拿了一个公钥或私钥去生成,其他方都依赖它进行加密解密。二是结果可以按照协议,分发给相对应的参与方。 

同态加密(的原理是),谁有密钥,肯定需要他去解密,安全性原理有所不同。

有些场合很难找到可信第三方,这时正是安全多方计算的发挥空间。除了乘法和加法,还有其他更复杂的计算,比如机器学习里面有 log、指数等,这些运算都可以用乘法和加法来构造。不管运算多复杂,理论上都可以用多方安全技术求解。

  • 茫然传输

第二个是密码学里非常重要的茫然传输,也叫不经意传输(Oblivious Transfer,OT),是联邦学习做安全对齐的必备。

比如Alice手上有两个信息,Bob想要其中一个,但是不希望Alice知道他拿了哪一个。

富数科技安全计算首席专家卞阳:隐私计算江湖与联邦学习的「上帝视角」

密码学可以把协议构造更复杂些,比如n个信息里取其一,或取m个,取出数量不能超出约定。既要有正确性,还要有安全性,这就是OT协议。

  • 混淆电路

安全多方计算里面还有个“武器”混淆电路,由图灵奖获得者姚期智老师发明。

原理是:假如所有的输入都转成0和1,进行比特的「与非或」门电路计算,最后得到一个结果。

但是Alice和Bob的输入,都不希望另外一方知道,通过生成门电路处理,最后拿到的一个结果无法反推双方的输入。

富数科技安全计算首席专家卞阳:隐私计算江湖与联邦学习的「上帝视角」

如何在两方间构造电路?如果是在对方那里运行,不可避免要将输入(内容)给到对方,或者从对方拿(结果)。这时,不经意传输就派上用场了,对方无从得知你拿走了哪一个,这就隐藏掉自己的一个信息。

所以,多方安全计算的混淆电路和茫然传输之间有关系,这些都是比较底层的理论。安全协议密码学的这些内容,构成了联邦学习的安全基础。

联邦学习如何重新定义大数据?

大数据这个词,从提出到现在已经很多年。早期,大家更多采用内部数据,随后逐渐发现外部数据很有价值,就希望获得尽可能多的外部数据。但在国内外监管法律法规下,获取外部数据存在合规要求,大数据(的发展)也就受限。

数据如今已是生产要素。联邦学习怎样让AI跨越数据要素边界?这就是前文所述的“武器”如何运用。

  • 安全对齐

在做机器学习之前,往往需要完成对齐的动作。如果不知道两边的样本,也不清楚如何使用,学习自然无法进行。

举例:Alice和Bob各有一个样本集,两边怎么安全对齐ID?首先要处理自己样本里的ID,这是一个加密的过程。我们可以这样理解:

Step 1:把自己信息和一张复写纸放到信封里,给到 Bob。

Step 2:Bob在信封上签名盖章,再返回给Alice。

Step 3:Alice拿到之后打开信封,去掉掩码,但因为有复写纸,所以Bob的签名也印到了Alice给的信息上。

Step 4:Bob把自己手上每个ID也做签名。

因为只有他自己有私钥,所以Alice无法生成这些ID。也正因为ID经过哈希后用私钥签名,Alice即使拿到信息,也无法判断对应关系,只有她自己去掉了掩码就事先拿到Bob签名的这批ID,才能正好匹配上了。

如果Alice手上没有ID,肯定匹配不上。如果她有一个ID,Bob那边没有,Bob自然也无法生成一个带了自己签名的信息。

但这并不是公平对等的方案,因为Alice获得了一定的信息不对称优势:为什么是她先知道Bob哪些ID跟她有对齐?

富数科技安全计算首席专家卞阳:隐私计算江湖与联邦学习的「上帝视角」

好在密码学还有很多种武器,其中比特承诺就是更公平的一种方案,可以保证参与双方通过一种公平的方式来交换信息,参与者相互间要么都能得到对方的信息,要么都得不到。

安全对齐真的安全吗?用户哪些ID的数据参与了后面的机器学习,在一些场景中也是敏感的,能隐藏ID吗?这就变成更复杂的问题了。

所以样本对齐有三个层次的安全:第一个,比较简单的盲签名的安全对齐,但不太公平。第二种是安全公平的交换,第三种要隐藏被匹配到模型中的ID。

对于第三种,密码学也有办法解答。行业中有人提出差分隐私方案,复杂度很高,噪音的加入也会导致模型效果有损失。我们也有另外的一些安全手段,有兴趣大家可以进一步交流。

  • 安全计算

不可避免地,做联邦学习一定要有安全计算。

富数科技安全计算首席专家卞阳:隐私计算江湖与联邦学习的「上帝视角」

我们知道联邦学习有不同的流派,纵向、横向、迁移。横向联邦学习的实现相对简单,因为在本地就可以训练,模型再到云端汇总。 

但纵向就比较复杂,一边是y变量,一边是x变量。一个表达式里既有x本方的变量,又有对方的变量,怎么算出结果?

听上去不可思议,好在有前面提到的多方安全计算,即使表达式里有n方数据,也可以从最简单的加法乘法开始构造。只要实现了这两个方法,就能将表达式求值,还能约定表达式结果值如何分配。

用同态加密做联邦学习,相对简单,但限制也更多一些,会需要第三方协助。但在实际商业场景中往往很难找到第三方。此时,多方安全计算就有它的用武之地。MPC(多方安全计算)的多方安全,名词本身和“联邦”更对应,参与方的关系也更加对等,可以在无可信第三方的情形下进行计算,完成建模学习。

  • 联邦特征工程

联邦学习如果没有好的数据,训练效果很难优秀。为保证数据质量,训练前需要进行联邦特征工程。

从名词上可以看出,无论是计算IV值、计算共线性,还是像importance这样用于筛选变量的值,也是用联邦方式来产生的。

在无法获取对方数据的情况下,如何操作执行联邦特征工程?我们通过可视化交互界面,共同做安全计算,能计算出特征IV值,还可以选择多种分箱方式。

富数科技安全计算首席专家卞阳:隐私计算江湖与联邦学习的「上帝视角」

有了这个特征工程以后,也可以判断对方的数据质量,发现那些对接下来的建模有用的特征字段。

正如前文所述,联邦学习需要一个发起方,不可能两边都操作或都不操作,总归有一方在做具体主要的动作,当然另外一方可以去做审核和批准动作,有权限管控。

进行联邦学习不光需要底层算法,同时也需要一个操作控制友好的界面。

另外还有探索性分析,比如说是否有异常值、缺失值,可以预先设定好规则,自动过滤日常值,更好控制训练质量。

  • 联邦机器学习

联邦学习最核心的,肯定是机器学习算法。下图是机器学习已完成任务示意图。

富数科技安全计算首席专家卞阳:隐私计算江湖与联邦学习的「上帝视角」

联邦学习过程中,网络上两方或多方共同计算,如果了解不到计算状态,我们很难给出适当判断。联邦学习的性能比单机本地要慢很多,训练几十分钟甚至更长时间都非常正常。在参与方之间需要将训练过程可视化。

不同的场景下,算法变化会很多。为实际适应各种场景,需要有尽可能丰富的联邦学习算法。

当企业发现自己数据有限,要和对方外部合作。数据获取不到,互相不信任,或者有合规上的隐患。这时通过联邦学习,数据会变得更易用。拿不到数据本身,但能能拿到数据的能力。

企业也希望使用过程尽可能简单方便,比如哪些数据可用、授权权限管理;希望可以发现、搜索有价值的资源,在合作的双方或多方相互能发现,有点像微信那样加好友才能连上对方、验证通过。

之后怎么合作?有一方创建合作的项目,对方有什么样的数据资源,是y变量还是x变量,横向还是纵向,都可以可视化创建合作项目,在合作项目中约定,之后就可以进行安全数据处理。虚拟融合就是安全对齐的过程,形成看上去是虚拟的样本集,实际上还是分布的。然后选一个联邦学习算法,在虚拟融合集上进行训练。

联邦学习结束后,它还是一个分布的模型,参与方各有各的子模型,所以联邦模型的使用,也要用到安全多方计算。

各方有自己的数据和子模型,在表达式或数的模型里,它的服务计算结构也是不一样的。所以说我们还要支持把模型部署为服务,变成像API那样可以对外提供,这样才形成一个闭环。

通过联邦学习,本来外部拿不到的数据,可以因此跨越边界,获得大数据能力,成为真正的大数据。

联邦学习在金融场景的「降维打击」

如果能够拿到各种各样的维度,在商业竞争中肯定有更加明显的优势。联邦学习,能够让企业获得了更强大的能力,就像上帝视角那样,得到高维打低维的优势。

从具体案例来看,富数科技在2017年就立项做多方安全计算,那也是网络安全法生效的一年。

我们当时就觉得,数据安全非常重要,也需要有一种更好的方式来使用,所以发起了开源项目Unitedata,有多家合作单位联合研究。

2018年,我们的UD联盟系统上线,已有部分落地应用的案例执行;2019年,信通院多方安全计算的相关标准出台后,我们也参与其中。富数安全计算联邦学习平台阿凡达(Avatar)也是最早通过信通院产品认证的。

为什么叫阿凡达?众所周知,这部电影是说地球人通过“阿凡达”这个化身进入到外星世界,本体没有转移。这个外星空间里,纳美人的头发就是一种神经元,由此连到灵魂树,互相达成共识。

这点十分有趣,我们觉得这跟联邦学习异曲同工:本体不转移,以及相互连接达成更广泛共识。所以阿凡达的意义是数字的世界里相互连接,形成更开放生态。

富数Avatar平台支持私有化部署,其中有两个核心模块:底层联邦学习算法模块,加密计算模块。正如同计算机不光有 CPU,还需要有GPU一样,有两个核心共同工作才能够实现联邦学习。

使用阿凡达的两家机构,他们可自身直接达成连接,不经过包括富数在内的任何第三方,就可以完成各种联邦学习项目。

  • 案例一:供应链金融

供应链金融里的应收账款,银行需要税务开票数据,但不容易拿到。

在一些项目中,企业若无授权,外部很难拿到数据,即便拿到也只是单个小的数据。但只拿一条数据,没法完成联邦学习,得要几千、几万条税务的数据和银行的资金流水。

一边是银行资金交易信息,一边是经营信息来进行训练,两边维度不同,也没法汇集到一起,这在以前难度非常大。

让银行把数据放进安全沙箱是办法之一,但沙箱数据要出库有风险,这就导致:虽然我们希望公共服务数据能够对外赋能,实际操作中却遇到安全隐患。

富数科技安全计算首席专家卞阳:隐私计算江湖与联邦学习的「上帝视角」

通过联邦学习,比如银行方企业交易数据仍由本地安全保护,同时可以连接到公共服务数据的开放平台。数据资源在开放平台上陈列可供选择,审核后运行算法,看最终效果。

这样一来,当小微企业想要去申请银行贷款,银行就有更适合的模型来判断。

有些企业可能其实很大风险,经营情况不太稳定,由于银行可以拿到更丰富的数据,比如从用电数据判断企业经营趋势,在风控模型上做得更好,预防潜在风险。贷前、贷中管理和实时监测,也很需要多方数据来训练模型。

上文提到,模型部署成服务,可以做到明细的数据不需要传到银行,用这个模型即可计算出结果。这对企业来说,授权的范围可以进一步缩小。不管是公共服务部门还是大数据机构,对于掌握数据方而言,数据安全性也更高,避免了数据在使用的过程中被留存,或者面临更大风险。

  • 案例二:联合营销

品牌商想和合作方联合营销,必然要对用户做一些判断:哪些用户适合什么类型的产品?但些信息是汽车厂商自己掌握,大数据平台很难判断。

之前需要汽车厂商把CRM之类的信息,在大数据能力开放平台里建模,即驻场式建模。但对品牌商来说,数据放出去也存在隐患。

富数科技安全计算首席专家卞阳:隐私计算江湖与联邦学习的「上帝视角」

通过阿凡达联邦学习,可以利用大数据平台更大维度的数据——实际使用中可能有上千维度,联合建模,再对用户进行分层分群,不同车型能更好匹配潜在用户,活动转化率和最后效果得到巨大提升。

  • 案例三:金融机构存客促活

每家机构都会有大量睡眠客户,非常希望激活,但它本身是睡眠客户,很难得到更丰富的信息去判断。用外部标签判断客户,相当于把自己的客户信息泄露出去了。其次,如果不能双方建模,匹配度也不高。

存量客户对外进行画像匹配时,也可以通过安全方式去查询,这跟前面讲的盲签名非常像。然后建模,非常典型的纵向联邦学习模型,之后可以更好判断,把客户分组,不同组对应不同营销策略。

在这个过程中,金融机构并没有拿到存量客户更多的信息,消费信息、上网行为拿不到,非常合规,但已经知道了客户适合的产品,提升了金融竞争优势。我们在实操中发现,跟专家模型相比,它的转化率可以提高100%以上。

富数科技安全计算首席专家卞阳:隐私计算江湖与联邦学习的「上帝视角」

联邦学习直面挑战和机遇

  • 安全与合规

用了联邦学习是否就一定安全合规?联邦学习降低了数据泄露的风险,同时在具体使用中依然需要遵循数据合规的法律要求。安全对齐在某些解决方案或者情况下也还是会存在一定隐患,我们提供了更加公平的、尤其对甲方更加安全的对齐方式,合规性也更好。梯度泄露、样本投毒等其他安全挑战,需要有更好的解决方案,毕竟联邦学习也在不断成熟和发展之中。

  • 性能和效率

对联邦学习熟悉的朋友都知道,联邦学习的计算量非常大。以往在本地非常快,不用加密也不用通信,因此(采用联邦学习后)性能上面往往有两个数量级的降低。我们也做了不少优化和尝试,在性能上面还是取得了一些进展。

  • 场景适用性

场景很多变,需要不同算法,也不光局限在机器学习。安全查询就是非常强的需求。有一些情形还没上升到学习的程度,但也要分析得到有用的知识,用多方安全计算可以解决。

在阿凡达的解决方案里,从简单的加密查询到多方计算和统计,再到不同的机器学习算法,还有神经网络、深度学习等。所以在场景适用性上面,我们也已经取得一些成绩。

  • 互联互通

它是多方的应用,两个解决方案之间若无统一标准,联邦学习要进行下去肯定很难。

互动问答精选

问:哪些金融细分领域更适合联邦学习?,

卞阳:细分领域非常多,比如保险、反欺诈的应用场景,都非常典型。金融非常依赖数据,只要这个场景需要用到外部数据,联邦学习就特别适合。当然有些场景是不是一定要用机器学习?像刚才提到的供应链,其实双方在进入到机器学习之前,还要做变量的处理。双方都有变量,还想衍生出新的变量,怎么办?这种情况用多方安全计算去衍生新变量,这个变量不反映用户敏感信息,把变量构造出来。

问:供应链金融场景案例里,联邦学习和区块链两种方案有什么区别和优势?

卞阳:联邦学习跟区块链肯定很大区别。区块链不讲学习,共同点都是分布式,在某些情况下也可以相互配合。富数也有区块链松耦合的方案,因为要多方联邦学习,可以在区块链进行智能合约,约定数据的规格、利益的归属,使这个机制更加公平。

问:自己做的隐私保护联邦深度学习模型,用同态加密太慢,差分隐私保护效果不好怎么办?

卞阳:的确,同态加密性能是一个问题,用MPC可以优化,因为同态加密相对来讲比较固定和简洁,但优化空间会小。

问:联邦学习的标准,哪个公司在牵头制定?

卞阳:这个名词首先最早提出是谷歌,微众银行应该是国内的一个旗手。所以IEEE会议的标准,微众银行是发起方,富数科技也是标准组的成员。

问:数据开放平台和模型服务是谁所有的?

卞阳:对数据源来讲,数据开放平台肯定是属于数据拥有者。模型如果是双方共建、训练产生的模型,最后生成的模型服务,是看模型调用过程,包括模型分布情况。除非参与建模的一方,把自己的模型授权给其他方。如果不授权,那就是共有。

问:休眠客户的激活,本质是对客户增加标签维度,然后再激活客户?

卞阳:如何激活,有不同的策略,这时要增加标签的维度。如果因为策略不好,推了他不需要的产品,等于是骚扰,反而对客户有坏影响,所以银行要激活休眠客户的时候也会非常谨慎。提高客户匹配度,也变得非常重要。

问:各部分标注数据质量有好有坏,联邦学习可以怎么做?

卞阳:进行训练之前,要对数据质量做联邦处理和分析,特征工程和探索性。当然这个过程也保护各方数据。统计性信息能不能给,也要经过授权,就可以在进入学习之前判断标注的数据质量。如果前面不容易判断,可以训练出模型再去测试,评估其中维度的数据有没有价值。

雷锋网雷锋网雷锋网(公众号:雷锋网)

雷锋网原创文章,未经授权禁止转载。详情见转载须知

富数科技安全计算首席专家卞阳:隐私计算江湖与联邦学习的「上帝视角」

(完)