联邦学习【1】VS 区块链
【问1】联邦学习,何为“联邦”?
作为一种分布式机器学习技术,联邦学习可以实现各个企业的自有数据不出本地,而是通过加密机制下的参数交换方式共建模型,即在不违反数据隐私法规的情况下,建立一个虚拟的共有模型。由于数据本身不移动,因此也不会涉及隐私泄露和数据合规问题。这样,建好的模型将在各自的区域仅为本地的目标服务。在这样一个联邦机制下,参与各方可以在不披露底层数据和底层数据的加密(混淆)形态下共建模型,各个参与者的身份和地位相同,这就是为什么这个体系叫做联邦学习。
举例来说,假设有两个不同的企业 A 和 B,它们拥有不同的数据,比如企业 A 有用户特征数据,企业 B 有产品特征数据和标注数据。这两个企业按照 GDPR 准则是不能粗暴地把双方数据加以合并的,因为他们各自的用户并没有机会同意这样做。假设双方各自建立一个任务模型,每个任务可以是分类或预测,这些任务也已经在获得数据时取得了各自用户的认可。那么,现在的问题是如何在 A 和 B 各端建立高质量的模型。但是,又由于数据不完整(例如企业 A 缺少标签数据,企业 B 缺少特征数据),或者数据不充分(数据量不足以建立好的模型),各端有可能无法建立模型或效果不理想。联邦学习的目的是解决这个问题:它希望做到各个企业的自有数据不出本地,联邦系统可以通过加密机制下的参数交换方式,在不违反数据隐私保护法规的情况下,建立一个虚拟的共有模型。这个虚拟模型就好像大家把数据聚合在一起建立的最优模型一样。但是在建立虚拟模型的时候,数据本身不移动,也不会泄露用户隐私或影响数据规范。这样,建好的模型在各自的区域仅为本地的目标服务。在这样一个联邦机制下,各个参与者的身份和地位相同,而联邦系统帮助大家建立了「共同富裕」的策略。这就是为什么这个体系叫做「联邦学习」。
PS:联邦学习和分布式机器学习有异同点?
联邦学习是分布式机器学习的一种。最大的区别应该就是「中心服务器」对其他「计算节点」的控制权不同,具体解释篇幅较长,附在文章最后(附文 1)。
在互联网新浪潮中,联邦学习和区块链是最受关注的两项热门技术。联邦学习【注】是一种在大数据服务中保护隐私的分布式机器学习技术,区块链是一种在去中心化网络中实现价值转移的分布式账本技术。那么问题来了,谁是可信媒介技术领域最强王者?
【注】另有文章说“联邦学习的作用主要是用来解决数据孤岛”。【出处】什么是联邦学习
继续延伸:什么是“数据孤岛”?
“企业发展到一定阶段,出现多个事业部,每个事业部都有各自数据,事业部之间的数据往往都各自存储,各自定义。每个事业部的数据就像一个个孤岛一样无法(或者极其困难)和企业内部的其他数据进行连接互动。”我们把这样的情况称为数据孤岛。简单说就是数据间缺乏关联性,数据库彼此无法兼容。”专业人士把数据孤岛分为物理性和逻辑性两种。
在联邦学习这里,更侧重与是各“数据岛”之间不想连接互动,或者说不敢直接互动。
王牌技术 · 起源
联邦学习诞生于2016年的谷歌输入法优化项目,在互联网产业中存在三种服务形态:横向联邦学习、纵向联邦学习和联邦迁移学习【2】。2020年4月,数据作为新型生产要素,与土地、劳动力、资本、技术并列为五个生产要素。这意味着个人数据隐私作为不可侵犯的个人权利受法律保护的同时,数据的开放共享又是数字经济发展的命脉之所在,是中国在下一轮国家间新技术竞争中取胜的关键。因此,联邦学习技术成为产业界解决数据隐私与数据共享之间矛盾【3】的常规方法。
【问2】联邦学习的三种服务形态的分类依据是什么?有什么异同点?
纵轴表示用户维度,横轴表示用户特征维度。对用户和用户特征,偏向重合部分数量较多的一方进行切分;都不多时,不切分,进行迁移学习。
横向联邦学习:在两个数据集的用户特征重叠较多而用户重叠较少的情况下,我们把数据集按照横向(即用户维度)切分,并取出双方用户特征相同而用户不完全相同的那部分数据进行训练。比如业务相同但是分布在不同地区的两家企业,它们的用户群体分别来自各自所在的地区,相互的交集很小。但是,它们的业务很相似,因此,记录的用户特征是相同的。
纵向联邦学习:在两个数据集的用户重叠较多而用户特征重叠较少的情况下,我们把数据集按照纵向(即特征维度)切分,并取出双方用户相同而用户特征不完全相同的那部分数据进行训练。比如有两个不同机构,一家是某地的银行,另一家是同一个地方的电商。它们的用户群体很有可能包含该地的大部分居民,因此用户的交集较大。但是,由于银行记录的都是用户的收支行为与信用评级,而电商则保有用户的浏览与购买历史,因此它们的用户特征交集较小。目前,逻辑回归模型、树型结构模型和神经网络模型等众多机器学习模型已经逐渐被证实能够建立在此联邦体系上。
横向联邦特征维度都一样,通过扩充样本的方式提升模型质量;纵向联邦样本相通,通过扩充特征的方式来实现数据的信息互通,提升模型质量。
迁移学习:在两个数据集的用户与用户特征重叠都较少的情况下,我们不对数据进行切分,而可以利用迁移学习来克服数据或标签不足的情况。这种方法叫做联邦迁移学习。比如有两个不同机构,一家是位于中国的银行,另一家是位于美国的电商。由于受到地域限制,这两家机构的用户群体交集很小。同时,由于机构类型的不同,二者的数据特征也只有小部分重合。在这种情况下,要想进行有效的联邦学习,就必须引入迁移学习,来解决单边数据规模小和标签样本少的问题,从而提升模型的效果。
【问3】是怎样解决矛盾的?
联邦学习可实现各个企业的自有数据不出本地,而是通过加密机制下的参数交换方式共建模型,即在不违反数据隐私法规的情况下,建立一个虚拟的共有模型。(至于具体是怎么实现的这个功能的,这个问题留待研究。)
而更早的区块链技术,则诞生于2009年的比特币项目,根据账本来源分为三种服务形态:数字货币、智能合约、应用平台。在2019年之前,区块链技术更多地以数字货币的形式野蛮生长,直至2019年10月,中共中央政治局就区块链技术进行集体学习,肯定了区块链技术的集成应用在新的技术革新和产业变革中起着重要作用——推动区块链和实体经济深度融合,有望解决中小企业贷款融资难、银行风控难、部门监管难等问题;利用区块链技术探索数字经济模式创新,有望为打造便捷高效、公平竞争、稳定透明的营商环境提供动力等。
可信媒介 · 原因
能够获得如此热度和重要性,联邦学习和区块链有个重要的共同特征:可信。俗话说“人心隔肚皮”,陌生人之间一般难以建立信任,这是因为在资源有限的社会竞争中,获得更多利益是人的本性,人们担心被欺诈而损失利益,信任对市场经济中的作用不言而喻。
在传统市场中,交易由权威机构监督执行。例如,政府制定《消费者权益保护法》及《产品质量法》,并对违法行为进行惩罚。也就是说,权威机构提供“可信媒介”作用,为市场交易保驾护航,尤其是对于常见商品,质量、价格等细节均有十分详尽、标准化的管理方案。
在新兴的互联网市场中,智能终端设备依据摩尔定律飞速发展、光纤网络和5G无线网络逐步普及,产品创新层出不穷。相比之下,权威机构需要经过较长时间调查和研究方能制定相应法规,这使得很多互联网产品短时间内得不到权威机构的“可信媒介”作用,进而使得用户不敢放心大胆的使用新产品。例如,在互联网电子支付出现7年之后,权威机构才为部分互联网企业发放支付牌照,这才有了后来无处不在、十分便捷的手机支付形式。现如今,点对点转账(提高跨境交易的便捷性)、互联网大数据合作(提高用户服务水平)等新产品,尚缺乏成熟的法律法规来进行必要的管理与规范,亟需可用的“可信媒介”。
联邦学习和区块链正是在这样的背景下诞生的技术派“可信媒介”。联邦学习的可信在于,在数据合作过程中使用的是不可逆【4】的变换数据,即使没有权威机构监督,隐私数据也不会泄露。
区块链的可信在于,在记账过程中使用了群体共识【5】和数字签名【6】技术,即使没有权威机构监督,所记录的交易也是不可篡改且不可抵赖的。因此,这样的技术“可信媒介”将为国民经济持续健康发展提供新的生产力。
【问4】怎样保证“不可逆” / 不可篡改?
Hash()函数的单向性: Hash(x) =y , 通过y很难找到x。
区块链提供了一种方案, 让一个网络中,所有的结点都有能力去用计算能力投票, 从而保证了得到承认的结果是大多数人公认的结果, 不会因为少数结点作恶,而修改结果。
【问5】区块链是怎样让“群体”都知道的?
简单理解是,大部部分公共区块链利用relay网络广播信息。每个节点保存一组邻居节点地址,当收到一条信息,该节点会广播给邻居。邻居又广播给邻居的邻居。最后这条消息以大概率被广播到全网。
具体算法:--------
【问6】区块链的“数字签名”是什么样的?
数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
数字签名涉及到区块链的认证机制,它有两个作用:
- 证明消息确实是由信息发送方签名并发送出来的
- 确定消息的完整性
通过数字签名我们主要实现了:
接收方能通过发送方的公钥认证发送方的身份;通过私钥方式签名,别人伪造不了信息的签名;发送方也通过私钥签名抵赖不了对信息的签名;通过数字摘要技术保证了数据的完整性。哈希函数也保证了数据不可有任何篡改。
发送报文时
发送方将报文利用数字摘要技术生成报文摘要,用非对称密钥加密技术中私钥对报文摘要进行加密,将原文和加密后摘要一同发送给接收方。
接收报文时
接收方利用数据摘要技术对发送方发送的原文生成报文摘要,用公钥对发送方发送的数据进行解密,得到发送生成的报文摘要,解密的报文摘要和接收方自己生成的报文摘要进行对比。相同说明信息没有被篡改。
数字签名的基本算法:
1.对称加密算法; 2.非对称加密算法; 详略。
联邦学习/区块链· 应用场景
在应用上,两者均用于互联网场景。不同之处在于,联邦学习用于个性化的用户服务,区块链则用于点对点的交易记账和合约。
京东数科在联邦学习领域已经成功实现了多个项目的落地应用。例如,在疫情期间,为确保疫情过后农业生产生活的快速恢复和正常开展,京东城市基于联邦学习、同态加密、数据隐私保护的数字网关技术,在保证数据不出库的基础上,联合四川省德阳市广汉市农业农村局部署了“西南禽苗交易信息平台”,帮助中小企业动态、实时匹配禽苗供需信息,上线不到两周,即完成禽苗交易1250450羽。
京东数科也将联邦学习用于人脸识别,在配合式场景下(如自拍照对比自拍照),当误检率为十万分之一的情况下,通过率高达99.96%,当误检率为万分之一的情况下,通过率则高达99.99%。
而在区块链上,京东数科更是将其运用在了品质溯源、数字存证、信用网络、金融科技、价值创新等多个领域。
在品质溯源上,在行业内首创AI+区块链溯源应用,打造了普洱茶区块链防伪追溯平台,有效解决了普洱茶流通过程的痛点。截至2020年5月,京东数科的区块链防伪追溯平台智臻链,已有超13亿追溯数据落链,900余家合作品牌商,7万多件入驻商品,逾700万次售后用户访问查询,覆盖生鲜农业、母婴、酒类、美妆、二手商品、奢侈品、跨境商品、医药、商超便利店等丰富业务场景。
京东数科首创“茶脸识别”技术
在数字存证上,京东数科依托其自主研发的区块链数字存证平台,实现了可信存证、自动化取证、一键举证、侵权预警等功能,目前已经应用于电子合同、电子发票、电子证照、电子票据、互联网诉讼、版权保护等场景。其中,区块链电子合同平台已服务超百万次合同签约。
京东区块链数字存证平台功能一览
在信用网络上,针对消费租赁市场纠纷取证难问题,信用租赁平台“京小租”使用区块链技术,通过自动化流程获取租赁业务中租赁协议、订单数据、租赁流程等数据并完成“上链”操作,保证租赁服务的公开透明。这项技术同样被京东数科运用于数字身份、企业通用账号、信用租赁、物流征信等方面,为企业经营和个人生活提供便利。
在金融科技上,京东数科区块链早在2017年就应用于资产证券化领域。比如,2019年6月推出的首个区块链ABS标准化解决方案,能帮助资产方、计划管理人、律师事务所、评级机构、会计师事务所、托管行等ABS业务参与机构优化业务流程,节约时间成本,提升ABS发行业务效率。
除此之外,京东数科还正式开源了京东区块链底层引擎JD Chain。JD Chain面向企业通用业务场景而设计,满足企业积木化按需定制,让企业快速接入区块链世界,帮助企业进行海量高效数据治理。
JD Chain关键技术特性
应用基础:
两项技术均需要有协作意愿和共识的计算节点。
不同之处在于,
联邦学习要求节点之间的数据具有互补性,例如其中一个节点存储消费习惯特征,另一个节点存储性格、爱好等特征。各节点之间的共识为联邦算法【7】,通过约定在联邦之间的信息交互协议,实现模型训练及推理。
【问8】联邦算法的原理是什么?
区块链需要各节点同步记录所有交易信息,例如账户A给账户B支付1个代币,A的支付信息及签名将发送给网络上的所有节点,各节点产生一致的记录。区块链网络里能够达成一致,最关键的技术是共识算法【8】。共识算法是解决一致性问题的关键,在分布式、去中心化的区块链网络中协助节点保持数据一致。常用的共识算法如工作量证明(POW)、拜占庭容错(BFT)、股份授权证明(DPoS)等。
【问8】区块链的“共识算法”原理是什么?
应用目标
两项技术的目标都是在去中心化网络中增强节点之间的互信。
不同之处在于,
联邦学习旨在实现“数据可用不可见”【9】的隐私保护技术,并通过融合使用各方数据提升用户服务的质量,进而创造出新的价值。例如同态加密就是一种隐私保护技术,所产生的密文与明文完全不一样,分布性质和排序性质都发生了巨大变化,这使得原始数据是“不可见”的,密文可按指定规则进行运算,进而实现梯度下降算法和模型优化,实现了“可用”。
【问9】是怎样实现“可用不可见”的?
“可用不可见”其核心有两层含义:数据的可用性和数据的不可见性。即在充分保护数据和隐私安全的前提下,实现大数据价值的转化和提炼。
实现“不可见”:全面脱敏和去标识化。
如何“可用”:(例)同盾科技——同盾科技基于联邦学习提出了“知识联邦”的理论框架体系,支持从信息层、模型层、认知层和知识层四个层级进行联邦,以实现数据可用不可见。 在“知识联邦”框架中,信息层通过安全多方计算在密文空间上直接进行计算或学习,进而提取或发现知识;模型层联邦与传统的联邦学习相似,基于模型加密交互共创知识,并实现知识共享;认知层对同/异构数据进行认知学习之后进行集成或多模态融合,进而生成复杂的知识网络;知识层对分布的知识进一步学习提炼,实现基于知识的表达推理及智能决策。
区块链旨在确保交易记录不可篡改,利用共识算法、分布式技术解决在去中心化网络中的双重支付问题,最终实现数字世界的价值表示和价值转移。例如在比特币系统中,账户A给账户B支付1个比特币,并将该信息广播给所有“矿工”节点,“矿工”为了获得系统奖励,都努力将该信息打包到新区块,并为了获得更多奖励争当历史区块的见证者,这便使得该信息在区块链中不可篡改。
强强联合 · 未来
联邦学习和区块链有共同的应用基础,通过技术上的共识实现多方合作的可信网络,具有较好的互补性。从应用目标来看,联邦学习旨在创造价值,而区块链旨在表示和转移价值,
因此有以下两种基本结合形式。
第一种结合是利用区块链的记录不可篡改特性,对联邦学习合作方可能面临的恶意攻击进行追溯和惩罚。例如,在多个参与方进行联邦学习的同时,部署区块链用于记录联邦学习的数据指纹(包括建模样本、推理样本、交互信息),而对应的原始数据存储于参与方本地。当发现有样本遭受恶意攻击时,由各参与方或者第三方组成调查组,依据区块链记录的指纹对原始数据进行核验,便可以找出具体是哪一方遭受了攻击,进而采取相应的措施。
第二种结合是利用区块链的价值表示和转移功能,对联邦学习服务所创造的价值进行记账和利益分配。例如,在多个参与方进行联邦推理的同时,部署区块链用于记录用户服务的接口调用日志指纹、各参与方的贡献、该服务所产生的收益,并通过智能合约自动将收益分配给各参与方。这种方式与现有的按条计费不同,可以更精准地评估每次调用的质量,从而激励参与方确保调用的准确性,并积极优化效果。
【注】信息传递的主要方式是复制;信息转移的主要方式是记录。
附文 1
最大的区别应该就是「中心服务器」对其他「计算节点」的控制权不同。但具体来说,它们有以下几点不同之处:
🔺中心服务器对数据和计算节点的控制权不同。分布式学习的中心服务器对计算节点以及其中的数据具有较高的控制权,计算节点完全受中心服务器的控制,接收来自中心服务器的指令。例如,在 MapReduce 这种分布式计算模型中,中心服务器可以下发一个指令,让计算节点互相交换数据。但是在联邦学习中,计算节点对数据具有绝对的控制权。中心服务器无法直接或间接操作计算节点上的数据;计算节点可以随时停止计算和通信,退出学习过程。
计算节点稳定性不同。分布式学习场景下的计算节点,通常都位于专用的机房中,用高速宽带进行互联,网络、运行环境都非常稳定。而参与联邦学习的计算节点可能是手机、平板等移动设备,这些设备因为用户的使用习惯,其所处的网络环境并不稳定,随时都可能与中心服务器断开连接。
通信代价不同。因为分布式学习中的计算节点与中心服务器通常处于同一地理位置,而且有专用的通信条件,所以通信代价往往较小。而联邦学习中的计算节点可能分布在不同的地理位置,与中心服务器一般处于远程连接的状态,同时受不同设备网络带宽的影响,其通信代价要更高。
🔺计算节点上数据分布类型不同。分布式学习中,不同计算节点上的数据的划分通常是均匀、随机打乱的,它们具有独立同分布的特点,这样的特性非常适合设计高效的训练算法。但在联邦学习中,并不能简单假设数据是独立同分布的,由于计算节点中的数据数据是独立产生的,他们往往表现出不同的分布特征(非独立同分布)。
计算节点上数据量级不同。分布式学习为了提高训练效率,通常都会把训练数据均匀分布在每个计算节点上,实现负载均衡。然而在联邦学习的条件下,每个计算节点拥有的数据量与设备自身有关,很难保证不同计算节点拥有相近的数据量。
参考文章/文献:
[1] 联邦学习vs区块链:谁是“可信媒介”技术领域最强王者?
[4] https://www.zhihu.com/question/383035713/answer/1150461823 知乎@MetaTian
[5] 什么是联邦学习
[7] 联邦学习
[8] 一文了解区块链中的数字签名技术 知乎@财经小二
[9] 联邦学习学习心得(2)——纵、横向联邦学习的原理分析
[10] 知乎首份区块链面试指南--之共识算法