9月11日,在由万向区块链实验室举办的“新经济技术探索”第四届区块链全球峰会上,前上海证券交易所总工程师白硕先生做为演讲嘉宾受邀出席本次会议,带来了题为《背靠背知识协同:区块链与人工智能结合的新途径》的演讲。如下为白硕先生演讲全文,有部分不影响原意的删减。安全
我今天跟你们分享的话题是背靠背知识协同,这是人工智能和区块链结合的一个新的研究。网络
咱们常常提到一个词叫Data Fence,意思数据被分割在不一样的主权主体范围内不能流通。不能流通的缘由:不肯意分享、不敢分享、不能分享。机器学习
怎样可以在保护数据不离开原有的边界,同时在宏观上又要引导数据流通,造成一种合成、协同的效果?咱们基本上以区块链为基础,在上面加上了安全的多方计算。处理这样的问题离不开区块链上你们都知道的一些探索。好比说Zcash,它就是要解决UTXO模型下,咱们都须要见证支付的有效性和支付之后帐目的平衡。如今利用零知识方法,能够在秘密状态下见证这样一种关系。这样有了一种以隐私方式记录交易的货币。函数
在溯源上也有一样的状况,一个商品它的源头作了签字,中间环节作了签字。若是都作了签字,最后到了零售,咱们看到的是一个完整的签名链。这个签名链有一个大问题,中间商的上下游关系、它们的商业合做伙伴都暴露在零售端。这就有了一个问题,能不能把中间关系给隐去,同时还可以保证确实通过了中间的签字环节。学习
再看供应链金融,在融资过程当中也会有这样的需求。物流是从右往左,现金流是从左往右。还有相似的(企业)白条,是由区块链记帐的单位,它也是从左往右。白条从下游往上游走的时候,它跟谁是合做伙伴的关系,第二,它须要拆分,给谁拆分了多少,这件事情也比较敏感。这两个敏感的信息能不能隐藏起来,同时又可以见证白条流通的合法性,这是咱们在供应链金融场景当中碰到的问题,这都须要背靠背。如今广泛采用API调用的方式来把数据交易变成基于数据服务的交易。基于数据服务的交易,能够利用区块链进行精准的记帐。区块链
刚才说的对隐私和数据主权的保护方案,若是用一个二维坐标来画,横轴是隐私的强弱,纵横是中心化程度的强弱。其实作到必定程度,须要对去中心化有所牺牲,或者对隐私保护强度有所牺牲。稍微切实一点的,把这两个方面可以兼顾的,就是零知识证实的方法、同态加密的方法、环签名等等这些方面。这些方法的问题在于不可能三角,在隐私和去中心化都保证的状况下,会牺牲效率。人工智能
总结一下,目的就是想作到在不泄露实体信息的状况下,去见证一个关系。恒等式的见证,能不能不依赖我看见A+B等于C。还有数据要汇聚才能产生某种协同效应或者聚合效应,可是在数据不离开原位的状况下,能不能产生相似聚合效应那样一种行为。还有,能不能作到不泄露参数,就可以以这些参数来作输入的计算。还有,你有对手方,能不能不碰对手方的内容,还能实现和对手方的互相联通。这些问题,都是背靠背协同机制想要达到的目的。加密
下面分享两个案例。一个是背靠背求交集;一个是背靠背训练模型,或者叫协同窗习。部署
背靠背求交集,就是两个机构合做,一个机构是广告商,一个机构是手机商。广告商但愿跟手机商合做,手机商但愿和广告商合做,如何把双方共有客户的手机号码求出来,同时每一方不知道对方手机号码的全集。咱们提出的方法,进行某种加扰。A先加扰,给对方,对方加扰,给智能合约。B也是,先加扰,再给A加扰,再给智能合约,由智能合约来求加扰以后的数据交集。只要加扰的算子在数学上叫作可交换的,其实它就是成立的。用这种方法的时候,只要算子足够安全、足够可靠的时候,就能够利用它作背靠背求交集的工做。这种方法,能够支持一些不但愿透露全集的双边和多边合做,各自只要部署各自的智能合约节点,部署各自的加扰软件模块就能够把这个事作下来。数学
再看背靠背模型训练。机器学习是人工智能领域里面比较核心的功能。学习过程的最后会获得模型,可是这个模型是数据持续喂出来的。好比有几个医院,医院各自有某个病的影像数据,这些影像数据合在一块儿,会训练出一个更好影像识别模型。可是影像数据各医院当宝贝不拿出来。能够想到的一个方法,利用同态加密。同态加密单个运算还不行,咱们要作一个神经网络,神经网络至少它有线性组合,因此要有加同态、乘同态,还有一些非线性的过虑函数。加和乘组成多相式,多相式能够逼近非线性函数。逼近固然就有偏差,因此这两个有问号。一个是产生了偏差,偏差在传播过程中,就会出现一些问题。一个是回不来,咱们只能作试飞或者标签透明的训练,就是同态加密输出是回不来的。
看另一种方法,利用假数据。每一个人手里有真数据,利用真数据训练一个模型。针对模型,生成假数据,跟真数据具备高度一致的分布。两边都有假数据,把假数据给对方,把对方的数据跟本身的真数据和对方的假数据进行混合,混合以后再进行学习。
比较后,这三种方法,采用了生成假数据的方法,把假数据和对方真数据混合的方式。我作了一个实验,数据集比较简单,是数码0到9的识别。把0到9分红两组样本,一组只有0到4的训练数据,另外一组只有5到9的训练数据。当咱们进行传播以后,假样本传播以后,把对方擅长、本身不擅长的部分全学出来了。本身0到4是90%的样本,5到9是10%的样本。在这个学习过程中看数据传输的量。用一个样本池固定了,样本池后面只作它的标签变化部分的传输,用很是少的数据量,就能够学到至关高的精度,比其余两种方法好。
这是一个双边的、简单的实验,但这个实验其实给咱们提示了不少东西。只要咱们有一个能够信任的东西,就能够把数据经过信任的服务,把它给组织成一个伪装数据聚合的场景。虽然不聚合,可是伪装聚合,这个伪装聚合的场景和真聚合的场景是很是接近。这里面还提到了不肯意分享的问题,其中就是在你们分享过程中的权益没有考虑到。在精准计量了以后,像刚才的例子,你贡献的每一个假样本,它对学习效果的贡献度均可以测量出来。因此在区块链作了精准的记录以后,能够作一个很是好的利益方面的安排。
总结一下,背靠背数据协同是一个真实需求,它有很是普遍的应用场景,在技术上颇有挑战性。第一个案例是使用了密码学,第二个案例咱们没有用密码学,用的是生成对抗网络。生成对抗网络的方式,把它跟区块链进行叠加,就能够看到它一样能够起到背靠背数据协同的做用,特别是在人工智能、神经网络训练领域能够起到很好的做用,这也为咱们从此区块链的实践增添了一种新的选。