联邦学习|微众银行首席AI官杨强:联邦学习理论基础、四大应用场景与微众的AI全布局

数据科学与人工智能

共 8390字,需浏览 17分钟

 ·

2021-08-05 05:45


HKSAIR《AI金融》系列线上讲座第一课。


作者 | 李雷

内容来源|雷锋网

近日,香港人工智能与机器人学会(HKSAIR)创会理事长、微众银行首席AI官、香港科技大学讲席教授杨强老师,领衔HKSAIR《AI金融》系列线上讲座第一课,主讲联邦学习及其四大应用场景。
以下为杨强教授演讲全文,雷锋网做了不改变原意的整理:
我们这次的课程系列,与当前大家在工业界和学术界非常重视的一个议题相关,就是如何利用数据做人工智能的模型,同时又能够保护用户的隐私,保护数据的安全。
很多同学听说过深度学习,听说过监督学习,可能没有听说过联邦学习。这个也是要给大家交代一下联邦学习的由来。
为什么我在微众银行建立AI团队?我在观察金融的各个方面能不能用AI的模型给包装起来。因此我们设计了以下四大版块,产品和业务已经出炉,可以说是“AI落地急先锋”。
详细说一下AI+服务,比如开户验证身份要进行人脸/语音/指纹识别,又比如小微企业的企业主申请企业贷款上传执照要通过OCR图像识别、文字识别获取,自动产生信用评估。现在AI+服务大概每天能处理百万以上的这种需求。
以语音识别为例,我们做到了自主自研,与众多业界领先的语音识别的提供者相比具有明显优势,一是因为我们金融领域的知识,有大量特定话术和专业词汇的储备,在各种具体的特殊环境下都能处理。二是我们有非常先进的联邦学习技术,这就是今天的主题。还有迁移学习,可以很快把通用模型适配到特殊的场景。
AI+营销,有了产品也要有能力传播出去,找到对的人和企业,去提供金融服务。
怎么找到正确的需求?比如微信朋友圈,大家有时候会看到小微企业贷款广告,说明系统“认出”你是一个小微企业主。我们通过很多的特征来识别,很快赋予额度给小微企业的企业主,秒级批准。另外,推荐系统是非常有用的一个技术,我们把推荐系统和迁移学习、联邦学习结合起来,形成了新的技术优势,后面会细说。
在金融行业一个很大的优势,就是风控非常严格,要高效做信用评估,那就需要很多数据,360°来观察企业或者申请贷款的用户。但同时又不希望这些数据的隐私被暴露,如何能够做到这一点?这,就是联邦学习要做的事情。
举例:金融保险定价,我们把违约概率大幅缩减,个性化的保险定价提升8倍。小微企业风控模型准确率提高,相应地,坏账率降低。
我们有一个叫做揽月的产品,是从卫星视角往下看,能看到企业的经营状况,比方说左下角可以通过卡车个数和活跃度看到矿业的经营状况。右上角是农业种植区域,可以通过卫星评估产量。左上角是洪水泛滥受灾地区,通过卫星对地区受灾的程度进行定价。右下角是烟囱污染,环境在投资里是社会价值的体现,对环境的保护体现了公司治理水平,相应产生的ESG指数,很多也来自于于卫星图像观察。
综上所述,这4个版块,2个是前端的(服务、营销),2个是后端的(风控、资管)。

1


金融小数据与隐私保护的双重挑战

在这个过程中,数据是非常缺乏的。要保护我们的隐私,同时也想要服务,怎么做到?下面这句话叫做“数据不动,模型动”,希望大家就记住这7个字。这个就是联邦学习的精髓。
AlphaGo出现以后,人工智能井喷式发展。但我们周围日常的生活,有的却是小数据,不要以为大公司就一定有大数据。像在金融里面有很多的数据,其实是黑天鹅现象。比方说在反洗钱应用中用于模型训练的洗钱案例,其实数量并没有想象中那么多,还是属于少数现象。这种数据拿它来训练,效果不是很好。在医疗也是这样,每天都有那么多的病人,一定是大数据吗?
有一家公司叫做第四范式,用人工智能赋能金融场景。有很多头部银行都在使用它的产品,其中一个案例很有意思:豪车这种大额贷款,如果要建一个模型来做这种大额贷款的信用度的评估,数据往往是在上百例以内,这点样本是没有办法训练一个好的深度模型的,或许可以来训练 support vector machine(支持向量机)或decision tree(决策树),但往往不精确。
又比如,大家都很憧憬无人车的到来,但迟迟不来,其中一个重要的原因,就是因为无人车还不靠谱。我们不知道它见到一个它没见过的情况会发生什么,为了应付这种情况,可不可以把所有汽车上面的传感器、摄像头的数据全部聚合在一起,飞快地训练一个无人车的视觉模型?不行,因为每一个在路上的车辆,虽然它可以收集自己前面的影像数据,但是它不肯把这个数据和别人去共享,因为它有很多出行隐私在里面。即使这些无人车都是跟云端在连接的,模型却没有办法及时更新。
很多类似的端计算场景,就没有办法真正的实现,因为数据的割裂和短缺。
能不能把这些众多的小数据集给聚合起来,成为大数据?过去,确实是这样做的。现在,这样做的结果就是违规。
比方说,欧洲在18年就推出了一个非常严格的个人隐私法规,说数据的拥有权是绝对在终端用户那里。如果服务器端的公司,要用户的数据来训练某个模型,比方说搜索引擎的模型,它就一定要得到用户的许可。假设明天它要用同样的数据去训练推荐引擎的模型,那又得到用户那去,得到新的许可。用户如果哪天说不希望你用我的数据在你的模型里了,那么从此以后,这个公司就没有办法用用户的新的数据,这个叫“被遗忘权”。
很多巨头因此被罚,Google就被罚了5000多万欧元, Facebook也遭受了滑铁卢。 
在国内,数据的隐私保护已经是处于一个非常严格的态势,很多大数据公司,在过去都是新贵,但是现在都变成了阶下囚。我们现在在国内的银行里面工作,深知数据是红线,万万碰不得的。
应该说,联邦学习现在已经变成了国内外的技术上的一个重大趋势,并且它已经是一个跨领域的概念,它不仅仅是技术,而且是商业,它有自己的商业模式。

2


何为联邦学习?

在过去,数据动模型不动,也就是说我们从各地来购买数据,或移动数据到一个中心点,在中心点建立模型。
用一个简单的例子来给大家进行解释:假设用一只羊来类比机器学习模型,草就是数据,我们希望羊吃了草以后能够长大。过去的做法是,把草买到一起来建立模型。比方说左边的模型,左边的箭头是指向羊的。羊不动,但是草被购买到中心。相当于用简单粗暴的办法来获取数据,形成大数据,来建立模型。
但我们希望能够保护各自的隐私,所以让草不动,让羊动。这样羊既能吃那个地方的草,主人又不知道到底吃了哪些草,久而久之羊就长大了——这个就是联邦学习的新思路,就是让草不出草场,本地主人无法知道羊吃了哪些草,但是羊还是长大了。
比如每一个手机都是我们个人在使用,形成了一堆样本。有不同的手机,每个手机基本上取的这些特征都一样,但样本却不同。我们希望在数据不动的情况下,能够聚合这些手机上的数据的这些能力,建立大数据模型。
左边所示的数据集们,依次对应右边各终端上面的数据。它们的特征是纵向的,X1、X2、X3是类似的,但样本U1、U2…U10却是不同的。所以这个叫横向切割,按样本切割,简称“横向联邦学习”。
我们可以在本地建一个粗糙的模型,用w来表达它的参数,同时对参数加密。有密钥的人才可以看到内涵,别人和服务器也看不到加密后数据包里的内容。服务器得了加密后的参数,就可以通过某种形式,把这些加密后的参数加以更新、聚合、处理,形成一个更大的模型。
这里大家可能会有疑问,你得到的是一个加密的包,是一堆乱码,怎么可以把两堆乱码加到一起?还成为一个有意义的模型?这个问题,我留在下一页来解决。
每一个地方的数据,就对应这里有一个颜色的小表格,行是每一个用户的数据,列是每一维的特征。可以看到这个特征在不同终端上的特征是类似的,但是用户不一样。按照用户来切割,并没有按照特征来切割。
有了这样的一个形态以后,我们就可以把刚才给大家讲的故事,写成一个算法。这个算法里最关键的第4步是把运到服务器端的加密模型,这些包用一个f函数来处理,它是一个机器学习算法,作用在参数上。
我们原来有这么一种新型的加密算法,他可以让机器学习的算法可以穿透加密层进到内涵,也就是说我们对一堆加密包的某种数学运算,相当于对于某种数学运算的加密。这其实是一个小学的概念,叫做distribution law(分配律)。
同态加密,可以把多项式的加密,分解成每项加密的多项式,A+B的加密,变成A的加密加B的加密,这是非常伟大的贡献。因为这样就使得我们可以拿一个算法,在外面把算法给全部加密,加密的一层可以渗透到里面的每个单元。
安卓系统利用刚才所说的横向切割,即横向联邦学习的方法,不断更新一个总的模型,并且把总的模型分配到本地。在这个过程当中没有数据移出本地,并且即使在云端在进行运算的过程当中,也不会偷窥到任何的这个参数和任何的数据本身。所以,谷歌的安卓系统现在已经在使用,通过基博尔系统对输入法进行更新。
如果是某互联网公司和某家银行合作,并不按照样本切分,这两家可能具有同样的样本,用户群类似,但却有不同的特征。这种情况下,数据其实是按照特征纵向来切割的,所以我们管这个模式叫做纵向联邦学习。
比方说两家数据拥有方各自建立一部分的模型,但是在建立的过程当中,它需要知道那一部分模型所计算的结果和梯度,计算的梯度来告诉最后的结果是在往哪个方向发展,这需要一个gradient和一个era。在交换过程中,又引入刚才所说的同态加密的算法,使得两边可以在不看对方数据内容的情况下,不断更新自己这一部分的模型。
这是训练的过程,我们还有使用的过程。使用的过程叫inference,也需要两方来进行。也就是说,如果有一方到一半的时候说不合作了,那么联邦模型就应该停止,这个效果也是可以实现的。
我们现在讲了两种模式,一种是横向联邦,那么横向联邦更多的是to c。to b 是几家公司有意愿合作,可能数目不多,但每一个地方的数据都是客观的。在这种情况下,他们要做出1+1>2的效果,就可以用纵向联邦来进行。
问:联邦学习和分布式机器学习最能区分的点是什么?
可能以前做机器学习的同学做过分布式机器学习,比方说有参数服务器这样的概念。分布式机器学习,目的是加速,加速的办法是通过网络、多个服务器的平行并行计算。它就要考虑把这个数据给切分成不同的块,使得每一块的计算是在不同的服务器上进行的,但是每一块它的分布又是差不多的。
但在联邦学习中,我们不能保证所有的数据拥有方,它的数据分布是一样的。分布式机器学习的目标是加速,联邦学习的目的是合作,同时保护隐私,所以最终目的还是不一样。
问:联邦学习和安全计算是什么关系?国外是不是有类似的这种经验?
安全计算应该说是联邦学习的重要组成部分,联邦学习不是一个孤立的算法,它是一个综合性的学科,安全计算是为它提供工具的。前面说到安全是用同态加密来进行,也可以用其它的方法,比方说姚期智院士发明的Garbled Circuit(混淆电路)。
问:区块链听起来和联邦学习有点像,都是在多方进行的,它们是不是有些异同?
它的做法可能有些相同,但是也有巨大的不同。相同的地方是它可以用区块链的分布式记账功能来进行有效的激励措施。激励措施是我刚才所没有讲的,就是说怎么鼓励参与方持续地投入,参与到联邦里面来。同时去中心化的概念,也是我们尤其是纵向联邦里面的一个概念。
但一个很大的不同是,区块链为了保证 transparency,还有保证数据的不可篡改性,那么它要把同样一份数据多次copy到不同的场景,最后大家要有一个vote的机制,但是联邦学习却不然,联邦学习是一个数据,只有一个copy,它不能够出本地,所以它的目的就是通过这种uniqueness的方法来保证用户的数据的隐私和安全。
还有我们新提出来的虎符性概念,就是多方参与,才能够计算。缺了一方,这个就无效,就像战国时代,你要把虎符两个印要对上才能够用兵,这个是联邦学习的一个优点。
问:如果有一方数据是坏人怎么办?
比如横向联邦,如果有一个手机,它其实是坏人,它参与了计算,那么它每次贡献的模型都是在下毒,也就是说它在把最后的结果在朝着他对它自己有利的方向发展,或者在纵向联邦的时候,两方当中,其中有一方,它的目的就是为了窥探对方的隐私, 怎么办?
在场景下,我们有各种各样的做法。比方说做OCR,written text是0,这个是原始数据,我们让计算机识别0。如果不做加密,我们没有一个机制,这种所谓的对抗是可以做到的,坏人是可以通过参数或者一系列梯度的泄露可以反猜原始数据。
在建立模型训练的过程当中,如果这个模型的 gradient不断被引向到一个第三方,第三方获取 gradient,最后reconstruct我们就用data,通过这样的办法可以去做窃听。题目也是在去年NIPS得到最佳paper的一个题目,是MIT韩松教授做的。
应付它的方法,也是联邦学习的一个拿手好戏。比方说假设一个player,半诚实(Honest-but-curious)就是好奇,但本身不坏。还有人是恶意的,想搞破坏,想得到用户隐私,然后获利。对于不同的假设,可以设计不同的联邦学习算法和多方计算算法来防止下毒,还可以做零知识(Zero knowledge)和一些知识(Some knowledge)分类。服务器端也可以区分是不是恶意中心、恶意的数据节点和非恶意的数据节点。
在联邦学习里面,如果有同学现在在找题目,说我能不能在联邦学习找一个硕士题目或者找一个PHD的topic?完全有的,但是要聚焦,因为联邦学习涉及的方面实在是太多了,所以如果你要找一个题目,你往往会找一个子题目,比方说如何能够做到安全合规,如何能够设计一种机制防御攻击,提高算法效率。
比方说我们科大的陈凯老师,他带领的团队就在设计全世界领先的算法,网络效率可以通过网络的设计,包括网络protocol、芯片的设计来提高。还有王威老师、宋阳秋老师,都在设计算法,他们的算法都是非常精确的。
问:你讲模型我还是云里雾里的,模型到底是做什么的?
打个比方,现在每个人都用手机,有时候也看抖音,一看就很长时间过去了。为什么抖音能做到这一点?精准的推荐和个性化,利用数据来做推荐系统。
如图所示,比方说我们有很多的手机,每个手机上都有数据。抖音的做法,是把每个手机上的数据上传到云端,再利用所聚集的大数据训练模型,再适配到每一个人的个人数据上,就变成个性化推荐模型,再给推到手机端,就是循环往复这样一个过程。
这过程有个缺点,就是它侵犯了用户隐私,每个人的数据,云端就会看到。怎么防止?这里我就要说联邦学习+推荐系统,就是联邦推荐,这个也是我们第一次提出federated recommendation的一个算法。
它的算法宗旨,就是对每一个手机上的 transaction,用户以前看过的视频或者书,进行矩阵分解,得到用户空间和产品空间。如果你们喜欢数学,你们可能知道本征值、本征向量,线性代数里面的概念,实际上就是求这个值,但基于本地数据求值是非常不准的。所以通过联邦学习,能够让他们既能够利用所有的数据来求 ,同时不把本地的数据暴露给其他任何人。这就是联邦推荐的概念,可以在toB的形势下实现,就是纵向联邦。 
纵向联邦现在应用在哪里呢?又有一个新的名词,叫做联邦广告。
现在互联网的一大经济支柱就是广告,在现有的广告架构下,广告是不可避免地侵犯用户隐私。联邦广告可以让广告方、投放的媒体方、用户方各自保留自己的数据,同时提高投放准确率。
问:联邦学习训练后的模型是一个公共的模型,而各个客户端的数据经常是non-iid的,怎么办?
联邦学习训练后的模型,是一个公共的模型,而各个客户端的数据经常是分布都不一样,比方说我们有一个手机是女生用的,她看的短视频和一个男生用的手机的看的短视频,可能是完全不一样的短视频,因此我们拿他们两个的数据粗暴地做数据联邦,这个效果是肯定不好的,这是机器学习的一个常识。
怎么办?我们还有元学习,和多任务学习、迁移学习是可以解决non-iid问题的。
又要给大家提一个新名词,叫做联邦迁移学习,在之前每一端都先要做一个联邦迁移学习,找到自己的一个子空间,在这个数据子空间的比对下,大家可以认识到自己找到的子空间,各自找到子空间是属于同分布的就可以。那么找到子空间,可以用联邦学习来实现。这个领域论文非常的少,所以如果有同学在找题目,我鼓励大家在这个方面发力,一定是明年各个顶会的文章,best paper一定是属于你们的。

3


联邦学习应用案例

  • 小微企业信贷风控

假设我们要给一些小微企业贷款,又不知道小微企业的情况,第一个可以问询的是央行征信,比方说他过去在某个银行贷过款,信用度如何,但这种数据,它的样本往往是非常少的,所以只是去找央行的数据远远不够。
我们希望用到的数据是多方面的,比如工商、税务、舆情,还有各种资产的数据。但是这些数据拥有方,往往都是政府的不同部门、不同的企业。有专门的公司去帮助这些小微企业建立电子化的发票,有从专门的业务角度观察,我们只有用联邦学习才能说服他们来参与,否则他们担心核心资产会被泄露。
这里的例子,是我们在企业贷款里面基于联邦学习的风险控制模型。某个银行和某个发票企业最后形成联邦,大为提升准确率,降低坏账率。
  • 保险联邦建模

保险其实就是风险,风险和数据是分不开的,数据越多,风险越低,因此保险公司在某些程度上也想合作,因为不同的保险公司有不同的数据。有的保险公司是专门为保险公司保险的,叫做再保险公司,比方说瑞士再保险公司,是世界上最大的再保险公司,有100多年的历史,这些公司在过去因为数据割裂,没有办法合作的。现在就在用联邦学习,而且取得了非常好的效果。
  • 计算机视觉

比方说我们有不同的摄像头,每个摄像头都覆盖一个区域,这个地方的数据是公司的核心资产,不愿意和别的公司去share,但是他又希望利用到别的公司的数据,来增高自己的准确度,这个时候就可以用到联邦学习,我们叫视觉联邦,已经落地实施。每天深圳的建筑工地用来探测危险,影响施工的一些现象,比方说明火抽烟和不戴安全帽的现象。
另外,语音识别、IOT在仓储管理的场景,联邦学习也有所应用。不同的仓库可以形成线性联邦,监测地方仓储状况,这些状况就为风控模型和为物流业的决策提供了保障。
  • 医学应用

我们最近和腾讯的天眼实验室合作,成功构建了一个“脑卒中发病风险预测模型”,通过使用来自就诊记录数量TOP5的医院真实就诊数据验证,联邦学习模型和集中训练模型表现几乎一致,在脑卒中预测模型中的准确率达到80%,仅比集中训练模型准确率降低1%。
同时,联邦学习技术显著提升了不同医院的独立模型效果,特别是,对于两家脑卒中确诊病例数量较少的医院而言,联邦学习分别提升其准确率10%和20%以上。
联邦学习不仅仅是一个算法,而是一个操作系统。因为有激励机制在里面,可以把不同的行业给凝聚在一起,使得大家有动力,不断用联邦学习来做联盟。除了刚才提到的场景,还有银行和监管联合跨境反洗钱,互联网+保险,互联网+银行风控,互联网+零售,这些问题都可以通过联邦学习更好解决。
我们建立生态,建立平台,建立标准。也希望这个不仅仅是一个算法,而是新的paradise。我有的时候跟媒体讲,AlphaGo代表了AI 1.0,它就是说在一个地方有数据,在一个地方有算法,在一个地方可以有一个很好的模型,就是AlphaGo。
现在我们进入了AI 2.0,我们在不同的地方有数据、算法、业务,我们还可以做AI,这个是谷歌所没有做到的,中国现在在这个方向是领头的。
怎么做到这一点?首先要建立标准。我们特别自豪的一点是,世界上第一个联邦学习的产业联盟,建立的IEEE的标准,已经到了最后一步,马上就要正式发布了,敬请关注。同时在国内,有联邦学习的团体标准,这个也是微众银行领衔发布。我们有一个联邦学习的开源平台,就在Linux Foundation上,是金牌的开源平台,短短两个月就收集到贡献者打的上千星,到现在已经2000以上。在短时间得到这样的认可,也是非常难得。
教育方面,我们先后出版了英文和中文版,是联邦学习第一本书。另外还在做一个专题网页,提供教学PPT、习题、考试题,为师生提供方便,希望大家都能够很快了解这个领域,并且参与到里面来。

我是做金融科技领域的数据挖掘和应用工作,主要聚焦于联邦学习在金融科技领域的创新和应用,即如何利用联邦学习框架解决好金融科技领域的营销和风控两大重要主题的系列问题。


我创建了一个联邦学习群,大家相互学习和交流,争取早日把这个技术在工业界上落地开花结果。可以添加我的微信,备注:姓名-FL,一起探索。

浏览 84
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报